Keine Reihenfolge???

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Keine Reihenfolge???

Beitrag von R4z0r1989 »

Wieso macht Pure Basic keine Reihenfolge rein
weil es das irgendwie alles gleichzeitig macht macht was in der if abfrage steht geh ich mal davon aus:

Code: Alles auswählen

If x.l < xho.l + 000 And x.l > xvo.l + 000
        If y.l < yho.l And y.l > yvo.l
          PlaySound(0) 
          PlaySound(1)
          CatchSprite(1,?Knopf)
          Delay(300)
          CatchSprite(1,?Knopfd)
        EndIf 
      EndIf
und frage euch nun wie ich es schaft das er die Sounds abspielt und Gleichzeitig ?knopfb lädt dann 300 Milisekunden wartet und dann wieder ?Knopf läd?

Danke für jede Antwort!!!

greatz Badray
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Wenn ich Dich richtig verstanden habe, dann ist Dein Code doch korrekt?

300ms sind echt kurz, woher weißt Du, daß er wirklich alles gleichzeitig macht?
...und Dir ist schon klar, daß Delay() die gesamte Programmausführung
stoppt? Das ist eigentlich nicht sehr "elegant"..bzw. Vorteilhaft.

Ich frag mich nur was das soll: .. xho.l + 000 .. ?
Das bewirkt praktisch nichts!
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

Weil ich delay mal auf 3000 gesetzt hab es stoppt wie gesagt nur dass Programm und der Knopf den das Sprite darstellen soll verändert sich nicht wirklich!!!

Weil es ein Nippelboard von Stefan Raab darstellen soll!

und wenn ich auf den Knopf drücke soll er kurz nach unten geh und dann nach einer bestimmten zeit z.B. ne halbe Sekunde wieder nach oben aber er geht nicht mal nach unten und wissen tu ich dass er alles gleichzeitig mmmacht weis ich weil ich jeden sound in 2 Teile gemacht hab also das Död und den Spruch aber er Spielt beide Sounds gleichzeitig ab deshalb hab ich vor jedem Spruch ein Pause machen müssen in der Länge des Död tons!!!

und wegen dem Delay gibt da ne andre lösung ohne das das Programm angehalten!!
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Catchsprite gehört nich in die Repeat - schleife es wird einmal am anfang(also vor der schleife) aufegerufen alles andere macht man über displaysprite()
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

danke aber das geht auch nicht aberr vl hab ichs falsch gesetzt

könntest du mir vl ein Beispiel geben
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Natürlich spielt er beide Sounds gleichzeitig ab wenn Du PlaySound() 2 mal hintereinander aufrufst:

Code: Alles auswählen

PlaySound(0)
PlaySound(1)
Das ist normal, und auch gut so!

Du müsstest 300ms "abstand" zwische den beiden PlaySound() haben.

Verzichte auf Delay() vollständig und mache das mit einer
Zeitsteuerung per ElapsedMilliseconds() (siehe Hilfe).


Kurzes Beispiel (Debugger einschalten!):

Code: Alles auswählen


Debug "start.."
startzeit.l = ElapsedMilliseconds()

Repeat
Until (ElapsedMilliseconds() - startzeit) > 299

Debug "..fertig"

End

Dieser Code wartet 300ms und beendet dann.
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

..ach und da Du scheinbar noch Anfänger in PureBasic bist, würde
ich mir an Deiner Stelle erst ein paar grundlegende Programmierkenntnisse
aneignen.
Mach doch mal ein Anfänger-tutorium, z.B. von : www.robsite.de

Gruß
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

bei mir kommt dann ElapsedMilliseconds() is not a Funktion or an arry

wieso
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Gibt es erst seit 3.90
Versuch mal GetTickCount_()
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

danke es hat funktioniert!!! aber ich hab noch ne frage ich will euch das Nippelboard zum Download bereitstellen wo bekomm ich dafür Webspace her???
Antworten