BulletX fliegt HeroY immer nach
Verfasst: 02.02.2005 16:59
gutn morgn alle man
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
könnt ihr mir helfen?
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