Programm ablauf (wichitg)
Übersicht

![]() |
GeeeckoBetreff: Programm ablauf (wichitg) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi @ll,
im meinem Spiel gibt es objeckte ![]() z.B. ein Stein soll fallen, das gold aber nicht. Ich baue nen felay ein... wa spassiert!?! Beides bleibt stehen. Gibt es ne möglich keit 2 Programm Teile gleichzeitig ablaufen zu lassen? Der Code wäre sonst sehr lang... ![]() ![]() msg Gaia |
||
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
was is es denn fürn game? 2d oder 3d? beschreib dein problem genauer, bzw. wo du denkst, dass das prob. sein könnte und poste diesen codeteil hier
mfg dimaster |
||
![]() |
bruZardBetreff: Re: Programm ablauf (wichitg) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gaia hat Folgendes geschrieben: Hi @ll,
im meinem Spiel gibt es objeckte ![]() z.B. ein Stein soll fallen, das gold aber nicht. Ich baue nen felay ein... wa spassiert!?! Beides bleibt stehen. Gibt es ne möglich keit 2 Programm Teile gleichzeitig ablaufen zu lassen? Der Code wäre sonst sehr lang... ![]() ![]() msg Gaia ... und jetzt nocheinmal im ganzen Satz: Subjekt - Prädikat - Objekt ... bekommst Du Buntstifte, kannst Du unterstreichen. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
ahmmmm... jo...
der code exestiert noch net. Meine Frage: ;Programmteil 1 while not keyhit(1) print "eheheheh" wend ;programmteil 2 while not leyhit(2) print "lolol" wend kann ich beiude gleichzeitig ablaufen lassen? |
||
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ähhm wiso machst du 2 schleifen um print auszuführen? was is nochma genau der sinn von dem was du machen willst und nochma 2d oder 3d? | ||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist 2D.
Ich verstehe euch net... Kann ich beide schleifen gleichzeitig ablaufen lassen? |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
wozu überhaupt
du kannst doch beide printbefehle in eine schleife packen ?!? |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ihr versteht es nicht ![]() ich will einfach miene frage beantwortet wissen. Schreibt einfach: Ja wenn es geht oder nien wenn es ncihjt geht ^^ ![]() |
||
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
wozu denn?
hier ein beispiel wo ein viereck fäll und ein anderes nicht: Code: [AUSKLAPPEN] Graphics 640,480,16,1 SetBuffer BackBuffer() Repeat Cls Color 255,0,0 Rect 100,100-y,10,10 Color 0,0,255 Rect 400,100-y1,10,10 If KeyHit(2) Then yfaellt = 1 If KeyHit(3) Then yfaellt1 = 1 If yfaellt = 1 Then y = y-1 If yfaellt1 = 1 Then y1 = y1-1 Color 255,255,255 Text 0,0,"drücke eins oder zwei" Flip Until KeyHit(1) meinste so? mfg dimaster |
||
Florian |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So?
Code: [AUSKLAPPEN] Global Programmteil1_Aktiv=True Global Programmteil2_Aktiv=True Global Timer=CreateTimer(80) Global Task_Zahl=2 Repeat Task=Task+1 Select Task Case 1 If Programmteil1_Aktiv=True Then Programmteil1 EndIf Case 2 If Programmteil2_Aktiv=True Then Programmteil2 EndIf Default Task=0 End Select If Task_Zahl=0 Then Exit WaitTimer Timer Forever Print "Ende" Delay 1000 WaitKey End Function Programmteil1() If KeyHit(1)=True Then Programmteil1_Aktiv=False Task_Zahl=Task_Zahl-1 Return EndIf Print "eheheheh" End Function Function Programmteil2() If KeyHit(2)=True Then Programmteil2_Aktiv=False Task_Zahl=Task_Zahl-1 Return EndIf Print "lolol" End Function |
||
- Zuletzt bearbeitet von Florian am Di, Jan 24, 2006 21:41, insgesamt einmal bearbeitet
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe den Thread mal verschoben da der Thread-Ersteller offensichtlich zu den "absoluten Beginnern" gehört. | ||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
miLORD |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Antwort: Nein, mann kann nicht beide gleichzeitig ablaufen lassen.
Man kann den while-befehl jedoch durch ein if ersetzen, so wird nur die eine schleife ausgeführt, die andere nicht (z.B. bei Gold wird die Fall-schleife nicht ausgeführt, bei stein schon). Ein while handelt das, was in ihm ist immer durch, bis die bedingung nicht mehr erfüllt ist oder "exitet" wird. Auch deshalb functions oder if nehmen, damit du einen teil hast, der imm repeatet wird, bis du z.B. ESC drückst; und dann werden die functions/if-befehle nahezu zeitgleich ausgeführt, wenn dein code schnell genug ist. es handelt sich nur um millisecunden. nanosekunden. ach kp ^^ |
||
brqwq?! oO |
![]() |
GeeeckoBetreff: ANFäNGEROOOooo |
![]() Antworten mit Zitat ![]() |
---|---|---|
NEIN, ich bin kein Anfänger!
Ich habe es nur halt nirgends gefunden, ob man zwei teile gleichzeitg ablaufen lassen kann. |
||
![]() |
XaronBetreff: Re: ANFäNGEROOOooo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gaia hat Folgendes geschrieben: Ich habe es nur halt nirgends gefunden, ob man zwei teile gleichzeitg ablaufen lassen kann.
Das geht mit Blitz3D prinzipiell nicht. Auch sonst gibt es keinen wirklich parallel ablaufenden Code auf Einprozessormaschinen (*weitereinschränk*: ohne Hyperthreading). Der Trick ist, dass es quasi nur so aussieht, als würde es parallel ablaufen. Es gibt nur wenige Bereiche, wo solche Sachen wie Threads (pseudo-paralleles Abarbeiten) wirklich nötig sind. Für sowas simples jedenfalls nicht. ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
miLORD |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, siehe mein Post...
Nein, mann kann nicht beides gleichzeitig ablaufen lassen. Aber fast. Lesen und nicht nur schreiben hilft manchmal auch... 8) |
||
brqwq?! oO |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group