Animationen im Hintergrund...

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Philmaster
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 59
Registriert: 28.11.2006, 11:40
Wohnort: Österreich

Animationen im Hintergrund...

Beitrag von Philmaster »

Hi!

Nun versuche, nachdem ich den ersten teil meines Spieles halbwegs fertig habe (anhand der Aktionen, Dialoge, usw)

etwas Dynamik in die starren Hintergründe zu brinngen. Wie man Hintergründe animiert weiß ich, aber bei Personen und Objekten habe ich da so meine Probleme.

Zwar schaffe ich es, Charaktere zu animieren, allerdings ist es dem Programm schlicht und einfach egal, ob ich eNoBlock schreibe, oder nicht. Die Animation läuft, aber ich bin blockiert...

Ich habe mich nach einigem probieren dazu entschlossen, die Animationen gleich in "repeadetly_execute" zu schreiben (schließlich will ich eine andauernde Animation). Dort schreibe ich also zB.:

character[8].Animate(0, 2, eNoBlock);

Ich will also, dass Loop 0 mit einer Verzögerung von 2 abgespielt wird, aber nur im Hintergrund...

Das Ergebnis ist, dass die Animation läuft, ich aber nichts machen kann. (Außer die Maus hin und her bewegen, nicht aber klicken) Ich frage mich langsam, ob ich das mit eNoBlock falsch verstanden habe, oder ob es für sowas einen anderen Code braucht??....

Ich bitte um Hilfe :cry:

mfg, Phil
Zuletzt geändert von Philmaster am 24.02.2007, 18:40, insgesamt 2-mal geändert.
Ich bin weder, was ich sein werde, noch was ich war.
Benutzeravatar
Furymars
Süßwasserpirat
Süßwasserpirat
Beiträge: 485
Registriert: 13.06.2006, 20:45
Wohnort: Adventure Treff

Beitrag von Furymars »

Versuch es mal mit:
AnimateCharakter(0,0,0,erepeat);

Anstatt der 0 muss du die richtige Variable einsetzen.
Erepeat bedeutet immer wiederholen.
Angekündigte Spiele:
MMM : "Nicht ohne meinen Hamster!"
Philmaster
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 59
Registriert: 28.11.2006, 11:40
Wohnort: Österreich

Beitrag von Philmaster »

Hi!

Danke, aber es passiert genau das selbe:
die Animation wird abgespielt, wie es sein soll, aber ich kann weder das menü öffnen, noch im Raum rumgehen...
Ich bin weder, was ich sein werde, noch was ich war.
Philmaster
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 59
Registriert: 28.11.2006, 11:40
Wohnort: Österreich

Beitrag von Philmaster »

Ich habe eine Lösung gefunden.
ich lasse die Animationen nun einfach vom Spielbeginn an starten. So funktioniert es. Ich weiß zwar nicht, warum es anders nicht geht, aber was solls..

mfg
Ich bin weder, was ich sein werde, noch was ich war.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Ich erklärs Dir ;)

Code in der rep_ex wird 40x pro Sekunde aufgerufen.
Ein Animate() hat da drin also normalerweise nix verloren.
Use gopher repellent on funny little man
Philmaster
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 59
Registriert: 28.11.2006, 11:40
Wohnort: Österreich

Beitrag von Philmaster »

:D Da hat ich den Bereich wirlich gaaanz falsch verstanden :lol:

Danke vielmals ;)

Nun, habe ich allerdings bemerkt: Wenn man einen Char anspricht, dann wird die vom Anfang laufende Animation nach dem Dialog einfach beendet.

Eine vermutlich sehr dumme Frage: Wie kann ich die Animation erneut beginnen lassen?
-> Im Room Script erscheint immer "unexpected character(", verstehe ich auch, aber ich sehe nicht, wie ich nach dem Dialog die Animation fortlaufen lassen kann...


!!!
So, habe nun herausgefunden, dass die Animation endet, sobald das Programm auf den Speech View umstellt. Danach bleibt die Animation aus. Gibt es eine Möglichkeit das zu verhindern?
Ich bin weder, was ich sein werde, noch was ich war.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

wenn der dialog zuende ist, kannst du mittels der dialog_request (int) function, die animation wieder starten.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Dialoge werden immer am Ende einer Funktion ausgeführt.
Um also Code direkt nach einem Dialog auszuführen, packt man einfach ne zweite RunScript-Interaction hintendran und schreibt sein Zeug da rein.
Use gopher repellent on funny little man
Philmaster
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 59
Registriert: 28.11.2006, 11:40
Wohnort: Österreich

Beitrag von Philmaster »

Danke!!!

Werde mich gleich wieder an die "Arbeit" machen ;)

mfg, Phil
Ich bin weder, was ich sein werde, noch was ich war.
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

Die Arbeit brauchste nicht in Anführungszeichen zu schreiben ;) wirst du bald schon merken
Danke, Adventuretreff! <3
Benutzeravatar
Lebostein
Logik-Lord
Logik-Lord
Beiträge: 1343
Registriert: 24.03.2003, 22:54
Wohnort: Elbflorenz
Kontaktdaten:

Beitrag von Lebostein »

Wie kann man denn eigentlich Animationen (bzw. "Views") einfach so in den Hintergrund einsetzen? Mit Objekten geht es, aber die sind ja eigentlich für Interaktionen gedacht....
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Code: Alles auswählen

SetObjectClickable(0,0);
object[0].Clickable = false;
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Benutzeravatar
Lebostein
Logik-Lord
Logik-Lord
Beiträge: 1343
Registriert: 24.03.2003, 22:54
Wohnort: Elbflorenz
Kontaktdaten:

Beitrag von Lebostein »

Also ich interpretiere deine Antwort mal so, dass Animationen nur mit Zuhilfenahme von Objekten dargestellt werden können. Danke.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Nicht unbedingt, Objekte sind aber am praktischsten.
Du kannst den gesamten Hintergrund animieren (nur 5 frames), mit RawDraw und Timern alles selbst machen oder statt Objekten Charaktere nehmen.

Objekte sind primär für Interaktionen gedacht, können aber genauso gut für Hintergrundanimationen eingesetzt werden.
Use gopher repellent on funny little man
ccosmix
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 21
Registriert: 30.10.2007, 21:40
Wohnort: Wuppertal

Beitrag von ccosmix »

KhrisMUC hat geschrieben:Nicht unbedingt, Objekte sind aber am praktischsten.
Du kannst den gesamten Hintergrund animieren (nur 5 frames), mit RawDraw und Timern alles selbst machen oder statt Objekten Charaktere nehmen.

Objekte sind primär für Interaktionen gedacht, können aber genauso gut für Hintergrundanimationen eingesetzt werden.
Sorry, wenn ich diesen alten Thread aufwärme, aber da ich mich gerade in AGS einarbeite, bin ich auch auf das Problem gestoßen, Objekte im Hintergund animieren zu wollen.

Kann mir jemand erklären, wie man das genau macht, oder wo gibt es eine Erklärung/ein Tutorial, in dem die Lösung erklärt wird?
Antworten