Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: blount am 11. Februar 2011, 21:03:40

Titel: Animation wie bei Indy3 (Karte)
Beitrag von: blount am 11. Februar 2011, 21:03:40
Ich würde gerne eine Roten Faden wie bei Indiana Jones animieren auf einer Karte, wie muss ich da vorgehen? muss ich jeden milimeter als einzelnes Objekt darstellen?
Titel: Re: Animation wie bei Indy3 (Karte)
Beitrag von: Rocco am 11. Februar 2011, 22:30:22
du könntest zB ein rotes 4eckiges Object erstellen an den Startpunkt stellen und es dann dorthin schicken wo es auf der Karte hinsoll und währenddessen den Hintergrund anmalen.

ungetestet
[ags]
DrawingSurface *surface;
DrawingSurface *backup;
surface = Room.GetDrawingSurfaceForBackground();
backup = surface.CreateCopy();
surface.DrawingColor = 14;

object[2].Move(112,72);

while(object[2].Moving)
{
   surface = Room.GetDrawingSurfaceForBackground();
   surface.DrawPixel(object[2].X, object[2].Y);
   // oder mit drawline direkt bzw mit drawrectangle für eine dickere Linie
   surface.DrawLine(object[2].X, object[2].Y, object[2].X+3, object[2].Y+2, 2);
   surface.Release();

   Wait(1);
}

// Zum löschen oder wenn du den Raum verlässt kannst du mit
backup = surface.CreateCopy();
//wieder den Strich löschen

[/ags]
Titel: Re: Animation wie bei Indy3 (Karte)
Beitrag von: Shoben am 11. Februar 2011, 23:45:29
Also für solche Animationen benutze ich Adobe After Effects. Ein Programm zum Videos schneiden/bearbeiten, einfach alles. Mit dem kann man solche Sachen als Video machen und dann anstatt als Avi-Datei zu speichern, die Frames alle nacheinander in einem Ordner abspeichern lassen, diese dann in AGS importieren, View machen. Fertig. Sowas geht, wenn man weiß wie, in 10 Minuten. Kannst mich gerne anschreiben.
Titel: Re: Animation wie bei Indy3 (Karte)
Beitrag von: MacGyver am 12. Februar 2011, 02:44:11
Wenn du diese Methode bei deiner aktuellen Epi schon mehrfach angewendet hast, dann wäre das unter anderem eine Erklärung für die hohe Dateigröße. Ich persönlich würde Roccos Variante bevorzugen, elegant und ressourcenschonend.
Titel: Re: Animation wie bei Indy3 (Karte)
Beitrag von: blount am 12. Februar 2011, 10:33:15
Ich nutze auch die Variante von Rocco - allein schon weil Adobe Effects kostet über 1000€, es sei den man nimmt eine stark reduzierte Variante (Volumenlizenz ohne Medium; Handbuch, Support etc.) die gibts "schon" für  137,-€. Als ob das nicht schon schlimm genug wäre gibts davon nichtmal ne native Linux Variante, insofern würde ich das eher mit GIMP realisieren.
Titel: Re: Animation wie bei Indy3 (Karte)
Beitrag von: Shoben am 12. Februar 2011, 10:44:09
Schade, hätte das gerne für dich übernommen, ich habe das Programm ja bereits. Aber wenn du es mit AGS sowieso hinkriegst ist das ja gut.
@ MacGiver: Die Animationen, die ich da verwende hätte/habe ich mit AGS so garnicht hinbekommen. Zb: Regenanimation, kein Plugin, oder
eigenes Skript hat das so gut hinbekommen, wie AE. Da nehme ich die 250KB auf mich :-\
Titel: Re: Animation wie bei Indy3 (Karte)
Beitrag von: Endres am 12. Februar 2011, 12:03:19
Ah ja. Wie soll den ein View eine Regenanimation (ohne Alpha-Blending?) so gut hinkriegen wie ein Plugin?

Ich würde auch Roccos Methode bevorzugen. Mit DrawingSurface.DrawImage könnte man der Linie dann noch ein bisschen mehr Effekt verleihen, wenn man sie beispielsweise 2x2 Pixel groß macht (jedes Pixel ein bisschen anders schattiert). Ich weiß ja nicht, wie es aussehen soll. ;)

Allerdings würde das mit DrawRectangle nicht funktionieren, da man dann ja nicht mehr schräg bewegen kann. Stattdessen könnte man die Linien immer um einen Pixel verschieben.