Funktionen gleichzeitig ablaufen lassen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

clwoe

Betreff: Funktionen gleichzeitig ablaufen lassen

BeitragSa, Jan 29, 2005 4:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich habe ein Problem mit Functions. Ich möchte gern ganz einfach zwei Funktionen oder auch mehrere gleichzeitig laufen lassen. Geht das denn überhaupt???
Als Beispiel gebe ich das im Hintergrund ein ganz einfacher Regen durch eine Funktion animiert ist durch Punkte die über den Bildschirm laufen in verschiedenen Geschwindigkeiten und gleichzeitig möchte ich aber durch eine andere Funktion eine Spielfigur über den Bildschirm steuern können. Das Problem dabei ist nur, das in der funktion für den Regen, eine while Schleife drin ist und sobald die eingesetzt hat, kann ich sie nicht mehr verlassen und meine andere Funktion wird gar nicht erst anlaufen.

Vielleicht kann mir ja jemand helfen.

Dominic
Lebe jeden Tag so als wenn es dein letzter wäre!

Ebola33

BeitragSa, Jan 29, 2005 4:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein das geht nicht. Bei BB wird das Programm immer von oben nach unten abgearbeitet. Funktionen werden mit ihrem Aufruf eingereiht.
Du musst also anstatt der Schleife für die komplette Regenanimation nur code einbauen der den Regen um 1. Durchlauf dieser Schleife ändern würde. Genauso machst du's mit allen anderen Funktionen.

Du solltest deinen Code folgendermassen strukturieren :


Code: [AUSKLAPPEN]
While not keyhit(1) ; Hauptschleife
cls
;.....code

anim_rain
move_player

;....code
flip
wend

function anim_rain()

;code nur für einen Durchlauf.natürlich kannst du eine schleife für alle regentropfen
;einbauen.Aber nur für 1. Positionsänderung bzw. Berechnung.
;z.B.
for i=0 to NumOfRainDrops
rain_Y(i)=rain_Y(i)+1
;....weiterer Code..........
next


end function


Hoffe ich habe mich richtig ausgedrückt sodass du es verstehst. Bin nämlich leicht angeschlagen und muss jetzt ins Bett Wink

Mfg Ebola
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
 

clwoe

BeitragSa, Jan 29, 2005 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke ebola, ich werde es gleich mal ausprobieren und schaun das ich es hinkriege. Ich habe es mir auch schon so ähnlich gedacht!

ciao,
Dominic
Very Happy Very Happy Very Happy Very Happy
Lebe jeden Tag so als wenn es dein letzter wäre!
 

clwoe

BeitragSa, Jan 29, 2005 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Ebola

wollte mich nur bedanken für deinen Tipp. Es funktioniert!

gruss,
Dominic
Lebe jeden Tag so als wenn es dein letzter wäre!

TheShadow

Moderator

BeitragSa, Jan 29, 2005 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm zumindest BlitzMax kann parallel mehrere Funktionen über Threads ausführen...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

OJay

BeitragSa, Jan 29, 2005 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
aber nicht nativ. und es funktioniert momentan nur unter windows. und mark siblys kommentar zu folge funktioniert es nur in 90% der fälle.
 

lettorTrepuS

BeitragSa, Jan 29, 2005 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.
 

OJay

BeitragMo, Jan 31, 2005 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
wer hat irgendwo hier etwas über objekte verloren?!?!?

Ebola33

BeitragDo, Feb 03, 2005 3:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ahhh, nur in 90% der Fälle....naja dann sollte man es wohl besser nicht einsetzen. Denn das ist ja so gut wie gar nix Rolling Eyes
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group