Autor Thema: Intervalle einer Animation bestimmen  (Gelesen 5477 mal)

steve-o-mat

  • volljähriger Tentakel
  • *****
  • Beiträge: 617
  • Geschlecht: Männlich
    • ICQ Messenger - 481703404
    • Profil anzeigen
Intervalle einer Animation bestimmen
« am: 12. September 2007, 15:59:30 »
Heyho.
Folgendes Problem hab ich diesmal:

Ich habe für einen Gegenstand eine regelmäßig wiederkehrende Animation gemacht. Was mich daran stört ist, dass die Animation zu schnell wieder erscheint.
Ich habe schon alle Frames eines Views genutzt, um sie in die Länge zu ziehen. (also mit etlichen Standbildern und dann zum Schluss die Animationsbilder im View, damit die quasi-Animation länger ist). Leider hat mir das nicht gereicht, da pro View ja nicht unzählige Frames verwendet werden können. Das Delay kann ich nicht weiter verstellen, da sonst die Animation rukelt.

Deshalb meine Frage:
Kann man es script-technisch lösen, dass zum Beispiel diese Animation nur z.B. einmal in der Minute erscheint?
Die Hilfe hat mir leider nicht wirklich was ausgespuckt, vielleicht hab ich ja auch falsch gesucht. Wäre für jede Hilfe dankbar.  ;)

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Intervalle einer Animation bestimmen
« Antwort #1 am: 12. September 2007, 16:10:29 »
Mit Timern geht das ganz easy:

//rep_ex

  if (IsTimerExpired(1)) {
    bla.Animate(..., eNoBlock);
    SetTimer(1, 40*60);  // eine Minute Pause
  }

Jetzt musst Du das Ganze nur mit einem SetTimer(1, 10); in after/before fadein starten, fertig ist das Mondgesicht.

Jefffan

  • Gast
Re: Intervalle einer Animation bestimmen
« Antwort #2 am: 12. September 2007, 16:34:16 »
Den Standbildern kannst du bei SPD auch noch einen Wert zuweisen, damit diese länger erscheinen.

steve-o-mat

  • volljähriger Tentakel
  • *****
  • Beiträge: 617
  • Geschlecht: Männlich
    • ICQ Messenger - 481703404
    • Profil anzeigen
Re: Intervalle einer Animation bestimmen
« Antwort #3 am: 12. September 2007, 17:10:34 »
Ahh, okay. Vielen Dank für die schnelle Hilfe.  :D

Bei  SetTimer(1,40*60);  ist dann die 40 die Anzahl der Loops (40Loops=1s) gemeint, ne!?

Wenn die Animation nicht durch eine bestimmte Aktion hervorgerufen wird, sondern die ganze Zeit, während der Spieler im Raum ist, stattfinden soll, dann muss ich doch die if-Abfrage auch bei before/after fadein reinscripten, unter dem SetTimer(1,10);  Oder nicht?

Timer

  • volljähriger Tentakel
  • *****
  • Beiträge: 763
  • Geschlecht: Männlich
    • ICQ Messenger - 275798409
    • AOL Instant Messenger - commandertimer
    • Profil anzeigen
    • Meine Seite
    • E-Mail
Re: Intervalle einer Animation bestimmen
« Antwort #4 am: 12. September 2007, 17:26:41 »
Stimmt, du musst den Timer jedesmal, wenn du ins Zimmer kommst, erst einmal stellen. (Sonst würde die Bedingung "IsTimerExpired" ja nie eintreffen... ;)

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2682
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Intervalle einer Animation bestimmen
« Antwort #5 am: 12. September 2007, 17:49:35 »
warum so kompliziert?

spar dir den timer und verwende die lösung die jefffan dir vorgeschlagen hat
mach einfach im view-editor ganz hinten das bild, dass du länger sehen willst und setzte den SPD wert auf die gewünschte wartezeit, fertig
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Timer

  • volljähriger Tentakel
  • *****
  • Beiträge: 763
  • Geschlecht: Männlich
    • ICQ Messenger - 275798409
    • AOL Instant Messenger - commandertimer
    • Profil anzeigen
    • Meine Seite
    • E-Mail
Re: Intervalle einer Animation bestimmen
« Antwort #6 am: 12. September 2007, 18:32:23 »

In deinem Fall musst du es natürlich auf 2400 stellen.
Noch irgendwelche Unklarheiten? ;)

(Sorry, macht halt Spaß, zu erklären ;D)