Hi im Moment arbeite ich an einem Tacho (Kmh Anzeige)
Ich habe ein Objekt erstellt mit einer Animation aus 60 Frames
Also er schnellt nach oben.
Jetzt will ich aber das wenn z.B eine Variabel namens Speed = 5 ist das der Tacho dann die animation von Frame 1 aufwärts abspielt- geht das mit dem neuen Animations Skripten oder überhaupt gibt es eine Lösung ?
Kann man Animation von einer bestimmten Stelle aus starten?
Hoffe auf Antworten die weiterhelfen
Animationen -Kann man sie Steuern?
Ich würde mir da folgendermaßen behelfen:
Einfach die einzelnen Frames (also Tacho-Anzeigen) als einzelne Zustände eines Objektes festlegen (wenns mehr als 10 sind, dann einfach mehrere Objekte).
Dann eine Funktion, die die Tachoanzeige einfach berechnet.
Nehmen wir jetzt an, du hast ein Objekt "TachoNadel", welches 10 Zustände hat, bei denen der Zeiger jeweils auf den 10ern liegt. (Also Zustand 1 sind 0km/h, Zustand 2 10km/h usw.)
Du machst als Vorarbeit z.B.: setnum(Tacho;2) <--- Der Tachozeiger-Zustand, der erreicht werden soll (in diesem Fall 10km/h)
setstring(TachoSpeed;0,1) <--- Die Geschwindigkeit, mit der der Zeiger sich ändern soll in Sekunden.
Dann startest du die Funktion: function(Tachoänderung;infinit)
In der Funktion steht dann sowas wie:
Sollte funktionieren. Mit mehreren Objekten wird das ein bissel komplizierter, aber auch net viel.
Das einzige, wo ich mir nicht so ganz sicher bin, ist die Sache mit dem String im wait-Befehl... Hab ich so noch nie ausprobiert, aber rein prinzipiell sollte das gehen.
Einfach die einzelnen Frames (also Tacho-Anzeigen) als einzelne Zustände eines Objektes festlegen (wenns mehr als 10 sind, dann einfach mehrere Objekte).
Dann eine Funktion, die die Tachoanzeige einfach berechnet.
Nehmen wir jetzt an, du hast ein Objekt "TachoNadel", welches 10 Zustände hat, bei denen der Zeiger jeweils auf den 10ern liegt. (Also Zustand 1 sind 0km/h, Zustand 2 10km/h usw.)
Du machst als Vorarbeit z.B.: setnum(Tacho;2) <--- Der Tachozeiger-Zustand, der erreicht werden soll (in diesem Fall 10km/h)
setstring(TachoSpeed;0,1) <--- Die Geschwindigkeit, mit der der Zeiger sich ändern soll in Sekunden.
Dann startest du die Funktion: function(Tachoänderung;infinit)
In der Funktion steht dann sowas wie:
Code: Select all
if_num(Tachoaktuell;>[Tacho])
setnum(Tachoaktuell;-1)
if_num(Tachoaktuell;<[Tacho])
setnum(Tachoaktuell;+1)
if_num(Tachoaktuell;[Tacho])
stopfunction(Tachoänderung)
setobj(TachoNadel;[Tachoaktuell])
wait([TachoSpeed])
Das einzige, wo ich mir nicht so ganz sicher bin, ist die Sache mit dem String im wait-Befehl... Hab ich so noch nie ausprobiert, aber rein prinzipiell sollte das gehen.