Bewegungen beim space shooter

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

joni8a

Betreff: Bewegungen beim space shooter

BeitragSo, Okt 15, 2006 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe mir ein code geschrieben der eine figur bewegen soll. Das problem ist, das die bilder gar nicht gezeichnit werde.(ich weiss da noch ein paar fehler im code sind)

Code: [AUSKLAPPEN]

Graphics 640,480
Dim sp1(359)
Dim sp2(359)
TFormFilter=0
SetBuffer BackBuffer()
p1=LoadImage("p1.bmp")
p2=LoadImage("p2.bmp")
For winkel=0 To 359
sp1(winkel)=CopyImage(p1)
RotateImage sp1(winkel), winkel-90
MidHandle sp1(winkel)
Next
For winkel=0 To 359
sp2(winkel)=CopyImage(p2)
RotateImage sp2(winkel), winkel-90
MidHandle sp2(winkel)
Next
ges=3
x#=300
y#=220
Repeat
Cls
If KeyDown(203) Then winkel= winkel - 1 ; Links - Winkel wird verkleinert
If KeyDown(205) Then winkel= winkel + 1 ; Rechts - Winkel wird erhöht
If winkel > 359 Then winkel = 0
If winkel < 0   Then winkel = 359
If KeyDown(200) Then ; Hoch
X = X - Cos(winkel) * ges
Y = Y - Sin(winkel) * ges
EndIf
If KeyDown(208) Then ; Runter
X = X + Cos(winkel) * ges
Y = Y + Sin(winkel) * ges
EndIf
DrawImage sp1(winkel),x,y
If KeyDown(203) Then winkel= winkel - 1 ; Links - Winkel wird verkleinert
If KeyDown(205) Then winkel= winkel + 1 ; Rechts - Winkel wird erhöht
If winkel > 359 Then winkel = 0
If winkel < 0   Then winkel = 359
If KeyDown(200) Then ; Hoch
X = X - Cos(winkel) * ges
Y = Y - Sin(winkel) * ges
EndIf
If KeyDown(208) Then ; Runter
X = X + Cos(winkel) * ges
Y = Y + Sin(winkel) * ges
EndIf
DrawImage sp2(winkel),x,y

Flip
Until KeyHit(1)


gruß joni8a

BladeRunner

Moderator

BeitragSo, Okt 15, 2006 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Du verwendest für beide Player dieselben Variaben. das kann nur Ärger geben.
Die Zeichenbefehle sind soweit ich das überblicken kann korrekt.
Das midhandle solltest du vor Die Schleifen setzen in denen Du den Winkel erhöhst.
Du solltest vielleicht auch eine Begrenzung für die x- und y-koordinaten deiner Spielfiguren einfügen, weil der Code wohl dermaßen schnell durchrennt dass Du keine Chance mehr hast zu reagieren bevor die Figuren den sichtbaren Bildschirm verlassen haben.
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
 

joni8a

BeitragSo, Okt 15, 2006 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, aber die bilder sehe ich immer noch nicht ich habe den code berichticht:

Code: [AUSKLAPPEN]

Graphics 640,480
Dim sp1(359)
Dim sp2(359)
TFormFilter=0
SetBuffer BackBuffer()
p1=LoadImage("p1.bmp")
p2=LoadImage("p2.bmp")
For winkel=0 To 359
sp1(winkel)=CopyImage(p1)
RotateImage sp1(winkel), winkel-90
MidHandle sp1(winkel)
Next
For winkel=0 To 359
sp2(winkel)=CopyImage(p2)
RotateImage sp2(winkel), winkel-90
MidHandle sp2(winkel)
Next
ges=3
x#=300
y#=220
x1#=350
y1#=400
Repeat
Cls
If KeyDown(203) Then winkel= winkel - 1 ; Links - Winkel wird verkleinert
If KeyDown(205) Then winkel= winkel + 1 ; Rechts - Winkel wird erhöht
If winkel > 359 Then winkel = 0
If winkel < 0   Then winkel = 359
If KeyDown(200) Then ; Hoch
x = x - Cos(winkel) * ges
y = y - Sin(winkel) * ges
EndIf
If KeyDown(208) Then ; Runter
x = x + Cos(winkel) * ges
y = y + Sin(winkel) * ges
EndIf
DrawImage sp1(winkel),x1,y1
If KeyDown(30) Then winkel= winkel - 1 ; Links - Winkel wird verkleinert
If KeyDown(32) Then winkel= winkel + 1 ; Rechts - Winkel wird erhöht
If winkel > 359 Then winkel = 0
If winkel < 0   Then winkel = 359
If KeyDown(17) Then ; Hoch
x1 = x1 - Cos(winkel) * ges
y1 = y1 - Sin(winkel) * ges
EndIf
If KeyDown(31) Then ; Runter
x1 = x1 + Cos(winkel) * ges
y1 = y1 + Sin(winkel) * ges
EndIf
DrawImage sp2(winkel),x1,y1

Flip
Until KeyHit(1)

Tankbuster

BeitragMo, Okt 30, 2006 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
^^
Was hast du denn?
Mit dem berichtigten Code geht alles ganz gut! Nur der PC braucht erstmal en bisschen Zeit um das zu verarbeiten Wink
Warte mal 20 Sekunden, dann funktioniert alles GANZ gut!
du brauchst nur ein bisschen Gedult
(aber die lange Ladezeit ist nicht wirklich lobenswert=)
Twitter
Download Jewel Snake!
Windows|Android
 

Mr Hopp

BeitragMo, Okt 30, 2006 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst dir ja mal in der ladeschleife das objekt anzeichnen lassen, dann siehste, wie weit der fortschritt is. Ist wirklich sehr lahm Laughing
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group