Items Droppen spinnt

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Hellchest

Betreff: Items Droppen spinnt

BeitragFr, März 18, 2005 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
dieser code soll nach 1 min ein Item droppen
was es auch perfekt tut
bloß das item läuft jetzt über den rand hinaus?
warum? eigentlich hab ich ja if xx < 60 then xx = xx -2
BlitzBasic: [AUSKLAPPEN]

If Item = True
If MilliSecs()> time + 60000
DrawImage power ,xx,xy
xx = xx + 2
xy = xy - 2
If xx < 60 Then xx = xx -2
If xx > 740 Then xx = xx + 2
If xy < 60 Then xy = xy + 1
If xy > 540 Then xy = xy - 1
EndIf
EndIf

; wenn ich aber anstatt
If xx < 60 Then xx = xx - 2
das mache
If xx < 60 Then xx = xx + 2

;bleibt es an der bildshirmseite hängen und bewegt sich nicht mehr ;zurück( in andere richtung)
  • Zuletzt bearbeitet von Hellchest am Fr, März 18, 2005 13:13, insgesamt einmal bearbeitet
 

noir

BeitragFr, März 18, 2005 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]


If MilliSecs() - zeit > 60000 Then
zeit = MilliSecs()
;mach irgendwas
EndIf



meinst du so etwas?
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am Fr, März 18, 2005 0:39, insgesamt einmal bearbeitet

Hellchest

BeitragFr, März 18, 2005 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Function Items()
If time()-zeit < 1000 Then
zeit = time()
DrawImage power ,0,0
EndIf
End Function


soll ein item dropen nach 1 min.


was setze ich anstatt time() ein?
 

noir

BeitragFr, März 18, 2005 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
noir hat Folgendes geschrieben:
BlitzBasic: [AUSKLAPPEN]


If MilliSecs() - zeit > 60000 Then
zeit = MilliSecs()
;mach irgendwas
EndIf




Millisecs(), sorry hatte vorhin time() da stehen, hatte es mit einer anderen sprache vertauscht Wink

und denke daran time global zu machen wenn du es in einer funktion benutzt.
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

BladeRunner

Moderator

BeitragFr, März 18, 2005 7:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
noir hat folgendes geschrieben:
BlitzBasic: [AUSKLAPPEN]
If MilliSecs() - zeit > 60000 Then 
zeit = MilliSecs()
;mach irgendwas
EndIf


Problem hierbei ist jedoch dass der Bedingungsteil zu Programmstart einmal aufgerufen wird, da zeit ja noch "0" ist. mach daher vor deiner mainloop ein
BlitzBasic: [AUSKLAPPEN]
zeit = MilliSecs()
und es wird wirklich erst aufgerufen wenn die Minute abgelaufen ist.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Alfadur

BeitragFr, März 18, 2005 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ich verstehe auch den teil garnicht

BlitzBasic: [AUSKLAPPEN]

xx = xx + 2
xy = xy - 2
If xx < 60 Then xx = xx -2
If xx > 740 Then xx = xx + 2
If xy < 60 Then xy = xy + 1
If xy > 540 Then xy = xy - 1


das item wird gedroppt, an xx,xy (sind die zufällig??) dann wird xx immer um 2 erhöht und wenns bei 740 ist wirds sogar um 4 erhöht... falls xx zufällig und 60 ist wirds erst um 2 erhöht und dann wieder um 2 abgezogen, bleibt am ende also stehen ... aha...

ich würds anders machen ...

BlitzBasic: [AUSKLAPPEN]

faktor = 2
dir = 1

While xyz
xx=xx+dir*faktor

If xx < 60 Or xx > 740 Then dir=-dir
Wend


und das ganze auch noch mit xy
A Cray is the only computer that runs an endless loop in less than four hours.
 

noir

BeitragFr, März 18, 2005 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
ich möchte hier nur anmerken, dass Hellchest nachdem ich seine erste Frage beantwortet hatte seinen Fragepost geändert hatte um darin die neue Frage zustellen, daher ist meine obige Antwort natürlich nicht mehr "passend"
Twisted Evil
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group