Hintergrund
Übersicht

![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das geht so nicht, denn Keydown liefert dir zurück OB eine Taste gedrückt wurde. Du kannst damit nicht das Drücken negieren.
Wenn Du Teile deines Codes abhängig vom Tastendruck und vom Inhalt von wert machen willst musst du den Bedingungsteil deiner IF anpassen: pseudocode: Code: [AUSKLAPPEN] if Taste gedrückt UND wert = dies Then
mach das elseif Taste Gedrückt Und wert > das und wert < dies then mach jenes else mach sonstwas endif Du kannst also Bedingungen verknüpfen. Wenn dir das zu kompliziert ist kannst du sie auch Verschachteln, das gibt mehr Text, ist aber übersichtlicher: Code: [AUSKLAPPEN] if taste Gedrückt then
if wert = dies then tu das else tu jenes endif else if wert = dies mach was neues else machwasduwillst endif endif |
||
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 |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok nur wie bring ich dann bei then den dazu das er stehen bleibt und das auch wirklich in alle richtungen?
Bei: ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0) player_x=player_x+0 , player_y=player_y+0 passiert gar nichts also er kann weiterhin über die inseln fahren, was ja auch logisch ist, da die vorige kordinate ja auch nicht geändert wird weil sie ja um 0 geändert wird. bei: ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0) player_x=player_x+1 , player_y=player_y+1 prallt das schidd ab, doch von einer bestimmten seite wird das Schiff dann sogar bei einer Kollision über die Insel getragen. Deswegen muss es eine andere Möglichkeit geben, doch wie ist die? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du speicherst, bevor Du deine Figur bewegst, ihre aktuellen Koordinaten ab. Dann bewegst Du. Sollte es zu einer Kollision kommen setzt Du die Koordinaten auf die gespeicherten zurück. | ||
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 |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
soweit war ich auch schon ^^ ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann mach es genauso.
Ich werde Dir keinen fertigen Code liefern, denn dann lernst Du nichts. Was ist an: koordinaten speichern, gehen, nach kollision alte Koordinaten wieder nehmen so kompliziert ? |
||
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 |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist so kompliziert weil ich keine ahnung habe wie ich die kordinate speicher ![]() |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
weißt du nicht, wie man ner Variable nen Wert zuweist? So kannst du ganz eifnach die Koordinaten speichern. | ||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Code: [AUSKLAPPEN] x = 15 ; jetzt steht 15 in x
x_alt = x ; jetzt steht 15 in x und x_alt x = 345 ; rate mal was nun in x steht und was in x_alt ? (Bingo: 345 in x und 15 in x_alt x = x_alt ; und nu ist x wieder auf 15. Noch Fragen ? |
||
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 |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hehe hab ne einfachere version gefunden xD
If KeyDown(203) Then player_x=player_x-2 If player_x<0 Then player_x=0 player=LoadImage("left.bmp") If ImagesCollide(player,player_x,player_y,0,wasserbg,1,1,0) Then player_x=player_x+2 EndIf |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
player=LoadImage("left.bmp") in einer Schleife die immer wieder aufgerufen wird, ist nicht grad sinnvoll. Laden von Bildern und sonstigem, sollte nur einmal im Code durchgeführt werden. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja stimmt ![]() ich habs nur da vergessen gehabt raus zu bauen ![]() vielen Dank an alle hier =) PS: das mit den variablen mach ich zwischendurch mal ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group