Problem mit Hintergrundanimation
-
- Komplettlösungsnutzer
- Beiträge: 22
- Registriert: 12.01.2005, 16:56
Problem mit Hintergrundanimation
Noch ne Frage:
Ich habe einen dunklen Wolkenhimmel im Hintergrund, über den gelegentlich Blitzlicht zucken soll.
Dafür habe ich die "AnimatingBackground" Funktion genutzt, und denn Himmel jeweils ein bisschen aufgehellt.
1. Problem: Jedesmal, wenn ein anderes Hintergrundbild vom Programm abgespielt wird, legen sich schwarze Streifen über meinen Charakter.
2. Problem: Die Animation sieht Scheiße aus. Die Blitze sollen nur in einem Abstand von knapp 10 Sekunden auftauche. Wenn ich "Animation Delay" allerdings hoch stelle, werden alle Hintergründe so langsam abgespielt; es entsteht also nicht der Eindruck einer fließenden Animation.
Was kann ich da machen?
Ich habe einen dunklen Wolkenhimmel im Hintergrund, über den gelegentlich Blitzlicht zucken soll.
Dafür habe ich die "AnimatingBackground" Funktion genutzt, und denn Himmel jeweils ein bisschen aufgehellt.
1. Problem: Jedesmal, wenn ein anderes Hintergrundbild vom Programm abgespielt wird, legen sich schwarze Streifen über meinen Charakter.
2. Problem: Die Animation sieht Scheiße aus. Die Blitze sollen nur in einem Abstand von knapp 10 Sekunden auftauche. Wenn ich "Animation Delay" allerdings hoch stelle, werden alle Hintergründe so langsam abgespielt; es entsteht also nicht der Eindruck einer fließenden Animation.
Was kann ich da machen?
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Die Background Animation ist für die meisten ein Problem, einfach weil es so wenige Frames sind, die du zur Verfügung hast. Somit lässt sich dein Problem 2 eigentlich nicht mit einem Animierten Background beheben, aber wenn du in dem Raum noch nicht so viele Objekte hast, dann mach doch einfach den ganzen Himmel als Object, damit hast du dann viel mehr Freiheiten für deine Animation.
Von dem Problem hab ich noch nie gehört, kann ich also leider auch nicht weiterhelfen. Das einzige was mir spontan dazu einfällt: Benutzt du in dem Raum Regions mit Light Level? Ich wüsste zwar nicht, wie das dann passieren könnte, aber es ist im Moment das einzige was mir überhaupt einfällt1. Problem: Jedesmal, wenn ein anderes Hintergrundbild vom Programm abgespielt wird, legen sich schwarze Streifen über meinen Charakter.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
-
- Komplettlösungsnutzer
- Beiträge: 22
- Registriert: 12.01.2005, 16:56
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
-
- Komplettlösungsnutzer
- Beiträge: 22
- Registriert: 12.01.2005, 16:56
Ich blick da irgendwie nicht durch.
Ich habe nun einen Teil der Wolken ausgeschnitten, und als Objekt wieder so über den Hintergrund gelegt, dass es nicht auffällt.
Aber wie bekomme ich das nun animiert?
Ich habe bei den Views sechs Frames in einem Loop abgelegt, bei denen die Wolken jedesmal etwas heller werden. Im Preview funktioniert die Animation auch, aber wenn ich das Spiel testen will, erscheint die Fehlermeldung, dass ich meinem Objekt keinen View zugewiesen habe. Wie mache ich das?
Scheinbar bin ich doch noch nicht so weit, wie ich dachte.
Grüße
Cerberus
Ich habe nun einen Teil der Wolken ausgeschnitten, und als Objekt wieder so über den Hintergrund gelegt, dass es nicht auffällt.
Aber wie bekomme ich das nun animiert?
Ich habe bei den Views sechs Frames in einem Loop abgelegt, bei denen die Wolken jedesmal etwas heller werden. Im Preview funktioniert die Animation auch, aber wenn ich das Spiel testen will, erscheint die Fehlermeldung, dass ich meinem Objekt keinen View zugewiesen habe. Wie mache ich das?
Scheinbar bin ich doch noch nicht so weit, wie ich dachte.
Grüße
Cerberus
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Du mußt bevor du den Befehl AnimateObject verwendest, dem Object einen View zuweisen. Dazu benutzt du SetObjectView, sonst weiß AGS ja nicht, welchen View es für das Object verwenden soll.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
-
- Komplettlösungsnutzer
- Beiträge: 22
- Registriert: 12.01.2005, 16:56
Okay, so weit bin ich jetzt:
Ich habe dem Objekt (den Wolken) den entsprechenden View zugewiesen.
Dann habe ich den Animate Befehl integriert.
Vom Prinzip her funktioniert nun alles, wie ich will. Mein Problem ist aber, dass sich die Animation direkt wiederholt, nachdem alle Frames durchgelaufen sind. Ich möchte aber eine Pause drin haben.
Geht das mit dem Wait Befehl?
Noch was, obwohl ich die Wolken als *.tga abgespeichert habe, wurde die Highcolor Palette nicht exakt übernommen. Besser gesagt: Die dunklen Stellen wurden automatisch als dursichtig erkannt, nach dem importieren.
Ich habe dem Objekt (den Wolken) den entsprechenden View zugewiesen.
Dann habe ich den Animate Befehl integriert.
Vom Prinzip her funktioniert nun alles, wie ich will. Mein Problem ist aber, dass sich die Animation direkt wiederholt, nachdem alle Frames durchgelaufen sind. Ich möchte aber eine Pause drin haben.
Geht das mit dem Wait Befehl?
Noch was, obwohl ich die Wolken als *.tga abgespeichert habe, wurde die Highcolor Palette nicht exakt übernommen. Besser gesagt: Die dunklen Stellen wurden automatisch als dursichtig erkannt, nach dem importieren.
Für die Pause ist es wahrscheinlich am einfachsten, im View Editor die Verzögerung/Darstellungszeit für das letzte Frame hochzusetzen:
Klicke einfach auf "SPD" unter dem letzten Frame und gib ein, wie lange es dargestellt werden soll, 40 je Sekunde. Für 2 Sekunden also 80 usw.
"Speed" ist in dem Zusammenhang ein bisschen missverständlich, es müsste wohl eher "Delay" oder "Duration" heissen.
Klicke einfach auf "SPD" unter dem letzten Frame und gib ein, wie lange es dargestellt werden soll, 40 je Sekunde. Für 2 Sekunden also 80 usw.
"Speed" ist in dem Zusammenhang ein bisschen missverständlich, es müsste wohl eher "Delay" oder "Duration" heissen.