Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Bòógieman am 03. Februar 2011, 20:57:36
-
ich habe eine view mit ner komplizierten tanzanimation und je nach loop ist nur die blickrichtung anders
kann ich das irgendwie bewerkstelligen, dass die figur mitten im tanz die blickrichtung ändern kann, ohne dass dabei die animation wieder von vorne anfängt?
oder anders ausgedrückt:
kann man eine animation bei einem beliebigen frame starten lassen?
oder nochmals anders ausgedrückt:
kann ich während einer animation den aktuellen frame festlegen?
oder ein letztes mal anders ausgedrückt:
kann ich den loop ändern, ohne dass eine laufende animation abgebrochen wird?
bei Animate kann ich ja leider nur den loop festlegen, aber leider nicht den frame und dummerweise fängt die animation dabei immer mit dem ersten frame an ::)
(falls jemand auch mal ne frage bezüglich Animate haben sollte, kann er gerne diesen thread verwenden ;) )
-
hmm, theoretisch kannst du ja mit
player.frame
den frame abfragen, ausserdem mit
player.LockViewFrame einen spezifischen Frame auswählen.
vielleicht funktioniert ja sowas in der Art:
[ags]
if(player.Frame == meinframe)
{
player.UnlockView()
player.LockViewFrame(viewnummer, loop, meinframe);
player.Animate(loop,delay,....);
player.UnlockView()
}
[/ags]
-
hmm, da müsste ich mir zwar mein eigenes Animate via RepExec basteln, aber das ist zumindest schonmal eine mögliche lösung des problems :)
thx
einfachere lösungen wären aber immer noch willkommen ;)
-
Sofern die Person auf der Stelle tanzt und den Kopf nicht bewegt könnte man vielleicht aus dem Körper ein Objekt machen und lediglich den Kopf als Character benutzen.
-
auch ne gute idee
aber leider kann ich das bei mir nicht so machen :-\
es muss auf jeden fall die gesamte figur gedreht werden
-
so, bin jetzt den harten weg gegangen und hab mir ein eigenes Animate gebastelt 8)
neue frage:
kann ich bei einer loop von einer view irgendwie im script auslesen wieviele frames diese hat? ???
-
aus der AGS Hilfe: ;D
GetFrameCountForLoop
(Formerly part of GetGameParameter, which is now obsolete)
static int Game.GetFrameCountForLoop(int view, int loop)
Returns the number of frames in the specified loop of the specified view.
NOTE: This is a static function, and thus need to be called with Game. in front of it. See the example for more.
Example:
int frameCount = Game.GetFrameCountForLoop(SWIMMING, 2);
Display("Loop 2 in SWIMMING view has %d frames.", frameCount);
See Also: Game.GetLoopCountForView, Game.GetRunNextSettingForLoop, Game.GetViewFrame
-
perfekt! thx :D
wäre eigentlich auch sehr leicht zu finden gewesen, keine ahnung warum ich die übersehen hab :-[
-
(falls jemand auch mal ne frage bezüglich Animate haben sollte, kann er gerne diesen thread verwenden ;) )
Ja, ich habe jetzt auch mal eine Frage zum Thema Animation (bei AGS 3.2.1):
Zum Kennenlernen von Animationen habe ich unter "Views" im AGS-Editor einen neuen View angelegt (Name: TestAnimation). Dann habe ich mir 10 Bilder gezeichnet. Ich lasse den Hamster in der Mikrowelle rumlaufen - keine Angst, ich schalte das Ding schon nicht ein ;)
Die 10 Bilder dann alle nacheinander (kann man sowas auch auf einmal hochladen :cl) bei "Frames" in AGS gespeichert. Wenn man nun bei "Animate" einen Haken reinmacht, sieht man in der Vorschau den Hamster auch munter rumlaufen.
Die Frage ist jetzt nur, wie plaziere ich die Animation nun in die Küche (in die Mikrowelle der Küche) so das die Animation abgespielt wird sobald man die Küche betrit.
Ich habe dazu kein Tutorial oder sonstige Hilfe gefunden. Um einen freundlichen Hinweis wird gebeten. Danke :)
-
Ich habe dazu kein Tutorial oder sonstige Hilfe gefunden. Um einen freundlichen Hinweis wird gebeten. Danke :)
wer suchet, der findet... hier (http://www.maniac-mansion-mania.de/forum/index.php?topic=871.msg14879#msg14879)
oder du schaust mal im Bernard SP nach (Perpetuum mobile und Bildschirm Animation)
-
Danke, es hat funktioniert :D Das Forum ist so groß das man auch mit der Suchfunktion manchmal was übersieht. Ich habs mir beim PerpetuumMobile abgeschaut. Danke nochmals. Weiß auch nicht warum mir das gestern Nacht nicht selber eingefallen ist, andere Dinge hab ich ja auch durch "abgucken" gelernt.
Sieht richtig lustig aus wie der Hamster in der Mikrowelle rumrennt ;) Das habe ich aber nur zu Übungszwecken gemacht - dem Hamster ist natürlich nix passiert. ;D
-
Da Du ja ein Object animieren willst, kannst Du auch einfach in der Hilfedatei nachschauen, was Objects für Befehle haben. Animate steht als erstes in der Liste.