Seite 1 von 1
Animationen
Verfasst: 26.01.2010 17:50
von Marvin133
guten tag zusammen!
ich habe folgendes probel ich möchte ein reuhe von bildern als eine animation dasrstllen mit displaysprite and delay.jetzt habe ich das ganze in ner schleife drin weil ich das immer zeichen möchte wenn ich ein bestimmte tste grdückt habe nur wenn ich die taste drücke malt der pc nur das erste der ganzen sprites wie kann ich das ändern?
http://www.file-upload.net/download-219 ... da.7z.html
Re: Animationen
Verfasst: 26.01.2010 18:54
von Shadow-Gamer
diese 2. Repeat-schleife war nicht so schön ne(taskmanager war nötig)^^
guckst du hier:
Code: Alles auswählen
InitSound()
InitSprite()
If InitKeyboard()=0
MessageRequester("Fehler","Konnte dx nicht finden",0)
EndIf
If OpenScreen(800,600,32,"Vollbild") = 0
MessageRequester("Fehler","Konnte kein Vollbild erstellen ",0)
EndIf
LoadSprite(1,"Data\Sprites\ZeldaGoWithout\ZeldaGo1.bmp",0)
LoadSprite(2,"Data\Sprites\ZeldaGoWithout\ZeldaGo2.bmp",0)
LoadSprite(3,"Data\Sprites\ZeldaGoWithout\ZeldaGo3.bmp",0)
LoadSprite(4,"Data\Sprites\ZeldaGoWithout\ZeldaGo4.bmp",0)
LoadSprite(5,"Data\Sprites\ZeldaGoWithout\ZeldaGo5.bmp",0)
LoadSprite(6,"Data\Sprites\ZeldaGoWithout\ZeldaGo6.bmp",0)
LoadSprite(7,"Data\Sprites\ZeldaGoWithout\ZeldaGo7.bmp",0)
LoadSprite(8,"Data\Sprites\ZeldaGoWithout\ZeldaGo8.bmp",0)
LoadSprite(9,"Data\Sprites\ZeldaGoWithout\ZeldaGo9.bmp",0)
LoadSprite(10,"Data\Sprites\ZeldaGoWithout\ZeldaGo10.bmp",0)
x=10
y=10
img = 1
For sprite = 1 To 10 Step 1
TransparentSpriteColor(sprite,RGB(255,255,255))
Next
Repeat
ExamineKeyboard()
FlipBuffers()
ClearScreen(0)
DisplayTransparentSprite(img,x,y)
If KeyboardPushed(#PB_Key_Down)
If img = 10
img = 1
Else
img+1
y+1
EndIf
Delay(100)
If y>=600
y=0
EndIf
EndIf
Until KeyboardPushed(1)
Edit: bissel verbessert
Re: Animationen
Verfasst: 26.01.2010 19:00
von Kaeru Gaman
tjaaa.... bei dem Archiv meckert mein 7zip, "Ircorrect command line".
warum benutzt du nicht ZIP kompression?
und Code darfst du trotzdem posten, es geht nur darum, dass die sprites
auch da sind.
ist auch möglicher Weise wieder ein Problem, dass man durch Codelesen alleine auch rausfindet.
ALSO
während die taste gedrückt wird, muss der Frame hochgezählt werden, und zwar immer um eins pro durchlauf.
du kannst also nicht einfach die Variable auf die erste Bildnummer setzen.
möglich wäre auch, dass du erstes Bild und Animationsframes getrennt behandelst, wäre vielleicht sogar einfacher.
Pseudocode:
Code: Alles auswählen
If KeyboardPushed( #PB_Key_Left )
BasisFrame = #LinksGehn
AnimFrame +1
If AnimFrame > LastFrame
AnimFrame = 0
EndIf
ElseIf KeyboardPushed( #PB_Key_Right )
BasisFrame = #RechtsGehn
AnimFrame +1
If AnimFrame > LastFrame
AnimFrame = 0
EndIf
Else
BasisFrame = #StillStehn
AnimFrame = 0
EndIf
DisplaySprite( BasisFrame + AnimFrame, x, y )
PS:
aha, Shadow-Gamer konnte dein Archiv anscheinend öffnen....
ein Delay() benutzt man normalerweise nicht in einer Game schleife, und wenn dann schon garnicht bedingt sondern absolut.
Re: Animationen
Verfasst: 26.01.2010 19:02
von Shadow-Gamer
Kaeru Gaman hat geschrieben:tjaaa.... bei dem Archiv meckert mein 7zip, "Ircorrect command line".
warum benutzt du nicht ZIP kompression?
hast schon recht, aber mit meinem 7Zip unter Xp hat es gefunzt
Re: Animationen
Verfasst: 26.01.2010 19:26
von Marvin133
ist es möglich dieses programm für jede richtung zu schreiben und dann die ganzen unterprogramme in einem haupt porgramm zu laden?
Re: Animationen
Verfasst: 26.01.2010 19:50
von Kaeru Gaman
da ist ganix mit unter- und hauptprogramm.
wenn du dir meinen pseudocode mal anschaust, wirst du sehen, dass sowohl links als auch rechts drin ist.
da stellt es kein problem dar, auch noch hoch und runter dazu zu bauen.
vielleicht dann ein wenig die struktur ändern, oder mit Flags arbeiten.
vielleicht solltest du erstmal ganz grundsätzlich mit Schleifen und Bedingungen arbeiten,
erstmal Grundlagen erlernen und üben, ein paar einfache Demos coden, bevor du dich an ein Spiel setzt.
Re: Animationen
Verfasst: 15.03.2010 18:55
von Marvin133
Wenn man die ganze Bewegungs datei fertig hat kann man das dan als dll speichern und dann im hauptprogramm die dll öffnen und die funktion ausführen?
Re: Animationen
Verfasst: 15.03.2010 19:57
von Kaeru Gaman
unter dementsprechendem Aufwand. lass es lieber.
so riesig viel ist das schließlich auch nicht, ein paar dutzend zeilen, die kannst du ohne mit der Wimper zu zucken in die Hauptschleife packen.