Forum | | | | Tango | maintenant suis je avec meinem latin am Ende. je bekomme es simple pas hin. comment peux je car Fichiers, Bilder, Textes im Hintergrund nachladen? allez cela überhaupt et si oui, comment? Mir fehlt simple qui Ansatz en supplément.
Alle Versuche qui je gemacht habe poser sämtliche Animationen paralysé jusqu'à vous geladen sommes.
comment peux on cela prinzipiell lösen? |
| | | | |
| | Georg Teles | journée,
dis donc oui c'est ca, quoi Du avant la hâte, am besten avec einem Beispiel et quelle Profanversion Du benutzt. Soweit je weiss, gibt es une Hilfedatei chez xProfan chez, such là zB pour Bildhandle
je melde mich später, si je à la maison suis.
salut |
| | | | |
| | Tango | Georg Teles (10.03.2017)
journée,
dis donc oui c'est ca, quoi Du avant la hâte, am besten avec einem Beispiel et quelle Profanversion Du benutzt. Soweit je weiss, gibt es une Hilfedatei chez xProfan chez, such là zB pour Bildhandle
je melde mich später, si je à la maison suis.
salut
allô Georg,
j'ai grand Probleme mon Diashow sur OpenGL-la base flüssig trop betreiben. qui oGL-Geschichte fonctionne super et so comment je mir cela gedacht habe. Lade je eh bien une Bilderserie ou bien aussi seulement un Bild, stoppt sämtliche Animation et zwar so longtemps jusqu'à cela/qui Bild(il) geladen sommes/ist. après klappt alles. c'est pourquoi était mon Überlegung qui Bilderserie ebend im Hintergrund dans den grenier trop magasin au cours de qui Animation im Vordergund déjà fonctionne et quelque chose Anderes Zeigt comme qui Bilder.
je hänge la fois meinen kompletten Wurstel-Test-Code à.
Wen Du den Testest lege la fois im Programmverzeichnis qui folgenden Dossier à:
X:/Programmverzeichnis/Bilder/1/1.....20.jpg etc.
et une Dossier nommé Sound et packe là une mp3 avec "1.mp3" hinein.
Achso: je benutze Xprofan 3.1
Var anzahl% = 0
Var position! = 25
Var color! = 0
Déclarer hfont&, font&
Déclarer Ende%, qui%'Variable pour Abbruchbedingung
Déclarer pos!, rouge!'Positions- et RotationsVariablen
Déclarer textur%, kugel#
Déclarer texture%[500]
Déclarer time&
declare r!
'Legt qui Fensterform fest
'Fenêtre Style 64 + 16 'la fenêtre sans cadre et
Fenêtre %MaxX, %MaxY'la fenêtre à Desktopauflösung anpassen
CLS 0
'Initialisiert OpenGL
oGL("Init", %hWnd, 0, 0, 0, 0)
oGL("BlendMode",1)
'oGL("LoadXPGL", "Linie.xpgl") 'Lädt Linienpunkte aus Dossier ligne number.xpgl
'oGL("UseXPGL", 1) 'Verwendet cet Linienpunkte
'Legt Lauftschrift fest
hfont& = create("Font", "Courier New", 32, 0, 0, 10, 0)'Lädt Font dans Variable hfont&
font& = oGL("OutlineFont", hfont&, 0.3)'Weist hfont& oGL trop
deleteobject hfont&'Zerstört objet hfont& wieder, weil es pour Zuweisung pas plus nécessaire wird
Verzeichnis 1'Liest Bilddaten un
'Spielt Mukke ab
MIDI("Play", $PROGDIR + "Sound\" + "1.mp3", -1)
SetTimer 5'max. 50 Frames /sek.
WhileNot ende%'si aucun Abbruchbedingung erkannt wurde, durchlauf des Timers
Si IsKey(27)'ist Abbruchbedingung "Escape-Taste" erfüllt, ensuite
Ende% = 1'setzte Variable Ende% sur 1
EndIf'et finis cet Abfrage
'imprimer "noch un test"
Cas position! < -100 : position! = 25'si Text derrière linkem Bildschirmrand verschwunden ensuite starte ihn wieder de Vorne
Cas color! = 90 : color!=1'si Rotationswinkel 90Grad erreicht, ensuite sur 0 mettons
OpenGL()'Zeichne derweil OpenGL
Endwhile'Springe trop WhileNot
KillTimer'finis pour 5ms den Minuteur ou bien besser dit: Springe pour 5ms wieder zum SetTimer
Fin
Proc Verzeichnis
Paramètres Folder$'qui Parameterübergabe des aktuellen Verzeichnisses
Var counter% = 0 : Var i% = 0'Zählvariablen zum Einlesen qui Bilder
Déclarer Dossier$, bild&'Dossier et Bildnummer
Déclarer Pfad$, Bilder$'Pfad des aktuellen Verzeichnisses et Bilddaten dans Vaiable Sauver
'Bildverzeichnis Initialisieren
Pfad$ = $PROGDIR + "Bilder\" + Folder$ + "\"
ChDir Pfad$
Pfad$ = Pfad$ + "*.jpg"
Bilder$ = $ FindFirst(Pfad$)
AddFiles bilder$
'cherchez pour Bilder et weist cet qui Variable Bilder$ trop
WhileNot %IOResult
bilder$=FindNext$()
addfiles bilder$
inc counter%
Endwhile
'ordnet qui geladenen Bilder dem TexturArray trop
whilenot anzahl% = counter%
DATEI$ = ListBoxItem$(anzahl%)
bild& = Créer("hsizedPic",-1, Dossier$,1280,1024,1)
casenot bild& : continue
texture%[i% + 1] = oGL("getTextureBMP",bild&,1)
deleteObject bild&
inc i%
inc anzahl%
endwhile
ENDPROC
proc OpenGL
position! = position! - 0.05
color! = color! + 0.05
oGL("Clear")
' oGL("Origin", 0.0, 0.0, -9.0) 'mets Position qui XPGL-Linien
' oGL("DrawXPGL", 0, 4) 'Zeichnet ebend cet Linien
oGL("Origin", 0, 0, -30)
oGL("Color", cos(color!), sin(color!), 1 - 0.5*cos(color!/30), 1)
oGL("Move", position!, 11.7, 0)
oGL("Print", font&, " DiaShow V1.0 lorem ipsum...........")
'oGL("Fog",3,0,25 + sin(rotation!))
oGL("Origin", 0, 0, -30)
oGL("Color", cos(color!/10), sin(color!/3), 1 - 0.5*cos(color!), 1)
oGL("Move", position!/0.7, -12.2, 0)
oGL("Print", font&, " lorem ipsum ................................................................ ")
'Sprites
'oGL("Origin", -3.4, -0.1, -6.0)
'oGL("Color", 10, 10, 10, 1)
'oGL("Quad", %MaxX, 0.1)
'oGL("Origin", 0, 0, -12)
'oGL("Draw", kugel#)
'oGL("Origin", 0, 0, -6)
' oGL("Origin", 0, -4.5, -18)
' oGL("Draw", kugel#)
si &GetTickCount - time& >= 5000'5 Sekunden sommes rum
r! = r! + 1
cas r! = anzahl% : r! = 1
time& = &GetTickCount
endif
'Bilder magasin
oGL("Origin", 0, -4, -12)
oGl("color",1,1,1,1)
oGl("move",-5.8, 0, -7.5)
oGL("Rotate", 0, 30, sin(color!))
oGl("push")
oGL("Texture", texture%[r!], 1)
oGL("Quad", 13, 8)
oGl("pop")
oGL("Origin", 0, -4, -12)
oGl("color",1,1,1,1)
oGl("move",5.8, 0, -7.5)
oGL("Rotate", 0, -30+sin(color!)/0.5, cos(color!))
oGl("push")
oGL("Texture", texture%[r!+2], 1)
oGL("Quad", 13, 8)
oGl("pop")
oGL("Show")'Zeigt alle Objekte
ENDPROC
|
| | | | |
| | Georg Teles | journée,
si Du bereits quelque chose Anderes Montrer veux au cours de qui Bilder geladen volonté, gibt es verschidene Opportunités:
Versuchen peux Du avec Multiprocessing de XProfan, dass un paralleler Prozess qui Bilder invite et qui primäre qui Animation übernimmt. Habe justement ne...aucune Beispiel sry.
Callback Funktion peux on sich aussi anschauen, habe malheureusement aussi ne...aucune Beispiel, muss bricoler.
Hab mais quoi entdeckt: chez qui Boucle entre SetTimer et KillTimer füge s'il te plaît un WaitInput, so nimmt dein Programme qui ganze Prozessorleistung
SetTimer 5'max. 50 Frames /sek.
WhileNot ende%'si aucun Abbruchbedingung erkannt wurde, durchlauf des Timers
Waitinput'<- ici
Si IsKey(27)'ist Abbruchbedingung "Escape-Taste" erfüllt, ensuite
Ende% = 1'setzte Variable Ende% sur 1
EndIf'et finis cet Abfrage
'imprimer "noch un test"
Cas position! < -100 : position! = 25'si Text derrière linkem Bildschirmrand verschwunden ensuite starte ihn wieder de Vorne
Cas color! = 90 : color!=1'si Rotationswinkel 90Grad erreicht, ensuite sur 0 mettons
OpenGL()'Zeichne derweil OpenGL
Endwhile'Springe trop WhileNot
KillTimer'finis pour 5ms den Minuteur ou bien besser dit: Springe pour 5ms wieder zum SetTimer
Fin
|
| | | | |
| | Tango | allô aussi,
habe grad qui Aider prêt. Es billet comme wäre là Multiprocessing qui richtige Weg. Doch verstehe je pas wirklich quoi on là de mir veux. mais je denke, dass je qui LadeProc qui Bilder dans un Modul packe, cela fonctionne ensuite parallèle zum Hauptprogramm et je peux ensuite qui Bilddaten à cela Hauptprogramm zur Laufzeit transfert.
vois je cela so richtig?
Verwirrend finde je là seulement qui Auzssage chez Multiprocessing et Callback, "Das Programme pouvoir seulement plus, si qui Prozess finissez ist".
avec cela habe je doch cela Gleiche dans vert ou bien? |
| | | | |
| | Unterthema: Multiprozessing [...] erzeugt. |
| | | | |
|
répondreOptions du sujet | 7.027 Views |
Themeninformationencet Thema hat 2 participant: |