ich hab ein problem,und zwar ich wollte das wenn der Hero schiest,das die bulletX immer gradeaus fliegt,das habe ich wunderbar geschafft,nur wenn ich den hero in der y-achse bewege nach dem schuss,bewegt sich die BulletY auch das heißt,die bullet kann man mitn im flug bewegen,das ist doof,und wenn man nach dem schuss den hero in der x-achse bewegt,fängt die bullet wieder bei der startposition an....
hier der schnipsel
Code: Alles auswählen
Enumeration
#HeroRechts
#HeroLinks
#Bullet
EndEnumeration
InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(800,600,16,"Test")
TransparentSpriteColor(-1,255,0,255)
LoadSprite(#HeroRechts,"C:\WINDOWS\Desktop\Unbekanntes spiel\Soldat-rechts.bmp")
LoadSprite(#Bullet,"C:\WINDOWS\Desktop\Unbekanntes spiel\Bullet.bmp")
Menu = 1
HeroRechtsX=100
HeroRechtsY=100
BulletX=HeroRechtsX+25
BulletY=HeroRechtsY+18
Repeat
ExamineMouse()
ExamineKeyboard()
ClearScreen(0,0,0)
Select Menu
Case 1
DisplayTransparentSprite(#HeroRechts,HeroRechtsX,HeroRechtsY)
If KeyboardPushed(#PB_Key_Left)
If HeroRechtsX <> 0
HeroRechtsX - 5
BulletX=HeroRechtsX+25
EndIf
ElseIf KeyboardPushed(#PB_Key_Right)
If HeroRechtsX <> 750
HeroRechtsX + 5
BulletX=HeroRechtsX+25
EndIf
ElseIf KeyboardPushed(#PB_Key_Down)
If HeroRechtsY <> 550
HeroRechtsY + 5
BulletY=HeroRechtsY+18
EndIf
ElseIf KeyboardPushed(#PB_Key_Up)
If HeroRechtsY <> 0
HeroRechtsY - 5
BulletY=HeroRechtsY+18
EndIf
ElseIf KeyboardPushed(#PB_Key_Z)
Bulletzahl=Bulletzahl+1
Bullet=1
ElseIf KeyboardPushed(#PB_Key_Escape)
quit = 1
EndIf
If Bullet=1
DisplaySprite(#Bullet,BulletX,BulletY)
BulletX=BulletX+5
EndIf
If BulletX=800
Bullet =0
EndIf
EndSelect
FlipBuffers()
Until quit=1
CloseScreen()
End