Probleme mit animation
Verfasst: 19.08.2009 16:10
Hallo leute ich hab mal wieder ein problem mit der animaion
eigenlich soll die graphik sich jetzt drehen und dorthin "schweben" wo ich hindrücke .Aber sie bleibt auf dem gleichen fleck?
Edit:
So hier ist der (fast ganz) fertige code.
Funktioniert soweit, bloß das ich die Graphiken noch änern muss!
(Männel dreht sich in die falsche richtung!)
Edit2:
So jetzt isser ganz fertig!
Das einzige was nicht geht ist da männel schneller zu machen.
(weil dann etwas anderes im Code nicht Hinnhaut)
Code: Alles auswählen
;Initialisierung
InitSprite()
InitMouse()
InitKeyboard()
;Globale
Global x=10
Global y=10
Global sx=500
Global sy=350
Global mx=550
Global my=370
;Konstante
#ges=1
OpenScreen(1024,768,32,"Spritebewegung");Öffnet den Screen
;Laden der Sprites
For xg = 1 To 9
LoadSprite(10+xg,"Figuren\Female Paladin\FP_000"+Str(xg) + ".bmp",0)
TransparentSpriteColor(10+xg,RGB(0,0,128))
Next
For xg = 10 To 72
LoadSprite(10+xg,"Figuren\Female Paladin\FP_00"+Str(xg) + ".bmp",0)
TransparentSpriteColor(10+xg,RGB(0,0,128))
Next
;Erstellen des Mauspunktes
CreateSprite(1,4,4)
StartDrawing(SpriteOutput(1))
Circle(2,2,2,RGB(0,100,200))
StopDrawing()
TransparentSpriteColor(1,0)
;Die Hauptschleife
Repeat
ExamineMouse(); Maus Aktivieren
ExamineKeyboard(); Keyboard Aktivieren
ClearScreen(0);Screen Löschen
DisplayTransparentSprite(1,MouseX(),MouseY());der Mauspunkt
If x=0 And y=0; überbrüfen ob Graphik das Zile erreicht hat
If MouseButton(#PB_MouseButton_Left);überprüft ob die Linke Maustaste gedrückt wurde
mx= MouseX() ; gleichsetzen mit Maus
my= MouseY()
x = mx;gleichsetztung Mauskoordinate X
y = my;gleichsetztung Mauskoordinate Y
; gleichsetzen mit Maus
Else
DisplayTransparentSprite(11,sx,sy); ansonsten bild anzeigen
EndIf
Else
x = mx;gleichsetztung Mauskoordinate X
y = my;gleichsetztung Mauskoordinate Y
x - sx; subtrahieren ZielX - StandX
y - sy ; subtrahiern ZielY- StandY
;Richtungsüberprüfung
If x<0 And Y=0
DisplayTransparentSprite(13,sx,sy)
sx-#ges
;2
ElseIf x<0 And y>0
DisplayTransparentSprite(12,sx,sy)
sx-#ges
sy+#ges
;3
ElseIf x=0 And y>0
DisplayTransparentSprite(11,sx,sy)
sy+#ges
;4
ElseIf x>0 And y>0
DisplayTransparentSprite(18,sx,sy)
sx+#ges
sy+#ges
;5
ElseIf x>0 And y=0
DisplayTransparentSprite(17,sx,sy)
sx+#ges
;6
ElseIf x>0 And y<0
DisplayTransparentSprite(16,sx,sy)
sx+#ges
sy-#ges
;7
ElseIf x=0 And y<0
DisplayTransparentSprite(15,sx,sy)
sy-#ges
;8
ElseIf x<0 And y<0
DisplayTransparentSprite(14,sx,sy)
sx-#ges
sy-#ges
EndIf
EndIf
FlipBuffers();Vertauscht die Buffer
Until KeyboardPushed(#PB_Key_Escape)
Edit:
So hier ist der (fast ganz) fertige code.
Funktioniert soweit, bloß das ich die Graphiken noch änern muss!
(Männel dreht sich in die falsche richtung!)
Edit2:
So jetzt isser ganz fertig!
Das einzige was nicht geht ist da männel schneller zu machen.
(weil dann etwas anderes im Code nicht Hinnhaut)