Seite 1 von 2

Probleme mit animation

Verfasst: 19.08.2009 16:10
von Raphi
Hallo leute ich hab mal wieder ein problem mit der animaion

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)
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)

Verfasst: 19.08.2009 16:12
von Kurzer
Hallo leute ich hab mal wieder ein problem mit der animaion
Stimmt.

Allerdings bekomme ich unter 4.31 eine Fehlermeldung, daß ein Sprite nicht initialisiert wäre.

Verfasst: 19.08.2009 16:13
von Raphi
Is doch logisch, du hast die sprites ja nich auf deinem computer

Verfasst: 19.08.2009 16:15
von Raphi
Du kannst auch einfach Figuren\Male Barbar\MB einsetzen und meinen link

Dateien.zip
zugreifen

Verfasst: 19.08.2009 16:15
von STARGÅTE
ich verstehe garnicht was die "simmlosen" Proceduren da sollen:

Code: Alles auswählen

Procedure X_() 
If 0>x 
EndIf 
EndProcedure 
Hat keinen Rückgarbewert (ProcedurerReturn) bzw. 0

wie soll dann eine vernünftige Abfrage unten zu standen kommen ?`

Code: Alles auswählen

If X_() And Y=0 
    DisplayTransparentSprite(11,sx,sy) 
    sx-#ges 
 EndIf 
die wird immer Falsch sein!

Baue das If 0>x doch gleich an der stelle ein wo es hingehört

Verfasst: 19.08.2009 16:20
von Kurzer
Raphi hat geschrieben:Is doch logisch, du hast die spites ja nich auf deinem computer
Hach, jetzt wo Du es sagst... Mist aber auch.
Warte, ich zeichne mir jetzt einfach mal 72 Sprites, damit ich Deinen code ausprobieren kann...

Verfasst: 19.08.2009 16:24
von Mok
Kurzer hat geschrieben:
Raphi hat geschrieben:Is doch logisch, du hast die spites ja nich auf deinem computer
Hach, jetzt wo Du es sagst... Mist aber auch.
Warte, ich zeichne mir jetzt einfach mal 72 Sprites, damit ich Deinen code ausprobieren kann...
Da sind bei dir wohl 0,5 Promille Blut im Alkohol

Verfasst: 19.08.2009 16:26
von Kaeru Gaman
yo, jetzt gehts mit den sarkastischen Antworten los.... :mrgreen:


@Raphi

reiß dich ab jetzt einfach zusammen, poste nicht jeden Furz und nicht auch noch unvollständig.

Verfasst: 19.08.2009 19:02
von NicTheQuick
Sorry, wollte nur schnell schreiben, dass ich grad sehr viel Spaß habe. :lol:

Verfasst: 20.08.2009 14:09
von Raphi
Jo, lag an den Proceduren Danke <)