Animation aus Sprites

Probleme beim Erstellen von 3D-Modellen und Texturen, keine Ahnung womit man Musik macht? Dies ist dein Forum.
Benutzeravatar
Reever
Beiträge: 29
Registriert: 13.08.2005 21:36
Wohnort: NRW

Beitrag von Reever »

Ja danke, man echt ein Wettlauf beim schreiben hier 8) :allright:
Das Wort eines Menschen wiegt nichts in den Augen eines Narrs
Benutzeravatar
Reever
Beiträge: 29
Registriert: 13.08.2005 21:36
Wohnort: NRW

Beitrag von Reever »

Hab jetzt aber noch ein Problem /:->
Das mit dem BackY klappt nicht so ganz also das mit dem nach vorne laufen :roll:
Außerdem wechselt das Sprite nur, wenn ich jedesmal die Pfeiltaste runter drücke :| Es soll ja durchlaufen
Hat jemande ne idee? Vielleicht sowas wie KeyboardRelease oder so?

Thanks :wink:
Das Wort eines Menschen wiegt nichts in den Augen eines Narrs
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

So sorry, war nen klitzekleiner Gedankenfehler drinne ... das muss SpriteHeight(0) heißen und nicht SpriteWidth(0) ... wir waren ja auf der Y Axe -.-

Dann zu deinem Problem, was genau möchtest du denn jetzt?
Aktuell sollte es so sein, das wenn du runter drückst sich das Sprite bewegt und Animiert wird. Mit KeyboardRelease() wird wenn ich mich richtig erinnere dann das Sprite nur bewegt, wenn du die Taste wieder los lässt und das genau um 1 Pixel und eine animationsframe. Um den ganzen Bildschirm dann runter zu laufen müsste 600 mal drauf drücken :wink:

Aber so wirklich klar ist mir noch nicht, was du möchtest -.-.
Soll die Anmiation vortlaufend sein? Und das Sprite bewegt sich nur, wenn gedrückt wurde? Oder man soll ein mal drücken und das Sprite soll sich dann vortfährend bewegen und Animiert werden und beim nächstne klick wieder still stehen?

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Reever
Beiträge: 29
Registriert: 13.08.2005 21:36
Wohnort: NRW

Beitrag von Reever »

Ja richtig, das soll sich nur bewegen, wenn fortlaufend draufgedrückt wird
und das mit dem Sprite Height bestimmt ja noch lange nicht das es wieder nach vorne läuft 8) also BackY+1 hochgezählt wird
sry für die ganzen schlechten Nachrichten :lol: :allright:
Das Wort eines Menschen wiegt nichts in den Augen eines Narrs
Benutzeravatar
Reever
Beiträge: 29
Registriert: 13.08.2005 21:36
Wohnort: NRW

Beitrag von Reever »

Soweit habe ich es jetzt gelöst, dass er nach unten läuft, nur das Problem ist noch, dass er einfach nur zwei Bilder zeigt und dann wieder zum Ausgangsbild zurückkehrt, aber das bessert sich wohl wenn ich nochwas rumspiele mit Delay etc hoffe ich doch :? , nur das Problem ist vielmehr, dass er laufen soll wenn ich fortwährend auf die Taste drücke
/:-> :mrgreen:
Das gehört zwar nicht hierher aber :
Kommst ja auch aus NRW :lol: :mrgreen: :allright:
Auch wenn ich etwas übertreibe sind sicher viele hier, die hier wohnen :roll:
Das Wort eines Menschen wiegt nichts in den Augen eines Narrs
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

noch nen tipp:

delay ist böse, gerade wenn man 10 ms eingiebt.
für animationen rate ich dir, einen sogenanten "timer" laufen zu lassen.
etwa so:

Code: Alles auswählen

StartTime = ElapsedMilliseconds()

Repeat

Debug Time

Time = ElapsedMilliseconds() - StartTime

If Time > 2000 ;Sprich 2 Sekunden
  Beep_(1000,1000)
  StartTime = ElapsedMilliseconds()
EndIf

ForEver
hab den code noch nicht getestet, er sollte aber alle 2000 millisekunden, sprich alle 2 sekunden einen beep() machen :wink:


edit:
hab den code einmal editiert, sollte jetzt funtzen :wink:
-.-"
Benutzeravatar
Reever
Beiträge: 29
Registriert: 13.08.2005 21:36
Wohnort: NRW

Beitrag von Reever »

Er sagt ElapsedMilliSeconds is not a Function an array or a Linked List
liegt das vielleicht an meiner Version 3.30?
Weil das ja ein Befehl API Befehl ist oder? wenn ich mich nicht total irre
berichtigungen erwünscht :lol:
Das Wort eines Menschen wiegt nichts in den Augen eines Narrs
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

hab mal gelesen, das alle befehle api sind :wink:
sprich die meisten

wenn du sie mit dem windows compiler compilierst, dann ists api, wenn du mit linux dann ists (keine ahnung :wink: )
-.-"
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

nein, das ist eine pb funktion. kannst du aber leicht nachbilden mit GetTickCount_()
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

is denn pb nicht wie folgt aufgebaut?
für diesen fall

Procedure ElapsedMilliSeconds
ProcedureReturn GetTickCount_()
EndProcedure

und dann wird das alles in asm konvertiert?
*klar, so siehts warscheinloich nicht aus, aber der sinn is dohc der gleiche :wink: *
-.-"
Antworten