| |
|
|
| Hallo Community.
Irgendwie bekomme ich keine vernünftige Joysticksteuerung hin. Ich will ein Sprite über den ganzen Bildschirm steuern, weiß aber nicht wie...?
Danke, Werner. |
|
|
| |
|
|
|
| Hallo Werner,
ich selber benutze diese Programmierung, wobei raumschiff& das zu steuernde Sprite ist und ein Bildschim von 800x600 benutzt wird. bereich# sollte 64 Bytes groß dimensioniert werden. Alle Werte sind leicht zu ändern: KompilierenMarkierenSeparieren*** Joysticksteuerung links-rechts
GetSpriteInfos(raumschiff&,bereich#)
x&=Long(bereich#,8)
y&=Long(bereich#,12)
joyx&=JoystickX(1)
a&=0
If joyx&>64
MoveSprite(raumschiff&,GetSpriteX(raumschiff&)+24,y&)
a&=1
EndIf
If joyx&<-64
MoveSprite(raumschiff&,GetSpriteX(raumschiff&)-24,y&)
a&=1
EndIf
Case a&=0:MoveSprite(Raumschiff&,GetSpriteX(raumschiff&),y&)
*** Joysticksteuerung oben-unten
GetSpriteInfos(raumschiff&,bereich#)
x&=Long(bereich#,8)
y&=Long(bereich#,12)
joyy&=JoystickY(1)
a&=0
If joyy&>64
MoveSprite(raumschiff&,x&,GetSpriteY(raumschiff&)+24)
a&=1
EndIf
If joyy&<-64
MoveSprite(raumschiff&,x&,GetSpriteY(raumschiff&)-24)
a&=1
EndIf
Case a&=0:MoveSprite(Raumschiff&,x&,GetSpriteY(raumschiff&))
*** Grenzen für gesteuertes Sprite prüfen
GetSpriteInfos(raumschiff&,bereich#)
x&=Long(bereich#,8)
y&=Long(bereich#,12)
Case x&<0:MoveSprite(Raumschiff&,0,y&)
Case x&>772:MoveSprite(Raumschiff&,772,y&)
GetSpriteInfos(raumschiff&,bereich#)
x&=Long(bereich#,8)
y&=Long(bereich#,12)
Case y&<48:MoveSprite(Raumschiff&,x&,48)
Case y&>582:MoveSprite(Raumschiff&,x&,582)
Gruß, Frank |
|
|
| |
|
|