Animationen ohne Sprung

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
hansa_export
Süßwasserpirat
Süßwasserpirat
Beiträge: 314
Registriert: 17.02.2005, 15:46

Animationen ohne Sprung

Beitrag von hansa_export »

Wie kriege ich vernünftige Animationen hin ohne Sprünge. Das heißt wie mach ich Animationen mit versch. großen Bildern? Müssen alle Bilder die gleiche Größe haben oder kann man irgendwie einen Bezugspunkt festlegen? Das Problem trat jetzt auf beim Indy-Charakter! Habe ihn soweit animiert, aber immer wenn er links oder rechts etwas greifen soll ist das Bild natürlich wesentlich breiter als die Lauf- und Sprech-Animationen? Muss ich jetzt alle anderen Animationsbilder auf eine einheitliche Größe bringen oder wie?

Hoffentlich kann mir hier jemand helfen?

mfg steffen :)
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Wenn du das Problem wirklich nur bei einzelnen Animationen hast, dürfte dir der folgende Befehl helfen:
SetCharacterViewEx
SetCharacterViewEx (CHARID, int view, int loop, align)

Sets character CHARID's view to VIEW, and sets the character's current frame to the first frame in LOOP of VIEW.
The main purpose of this command is that it can align the new frame to the previous one. This is particularly useful if you want to go from the character's normal walking view to a specific animation - since the characters have the central point as their 'axis', if you have a wider animation then it can be difficult to stop yourself getting a jumping effect when the animation starts.

ALIGN can have one of the following values:

align Description
ALIGN_LEFT Moves the new frame so that the left hand side is at exactly the same X co-ordinate as the old one was.
ALIGN_CENTRE Leaves the frames centred in the middle. This is the default and using this is equivalent to just calling SetCharacterView.
ALIGN_RIGHT Moves the new frame so that the right hand side is at exactly the same X co-ordinate as the old one was.


Note that this only aligns the first frame of the animation, so to get the full benefit all your frames in the animation loop should be the same width. All following frames will be shifted by the same amount, until ReleaseCharacterView is called.

NOTE: This function locks the character's view to the specified view, so that it can only be changed by other script commands (ie. it won't automatically be changed by the program on shadow areas, screen changes, etc). When you are done with the animation, call ReleaseCharacterView to allow the program to take control back.

Example:

SetCharacterViewEx(EGO, 12, 1, ALIGN_LEFT);
AnimateCharacter(EGO, 1, 5, 0);
while(character[EGO].animating) Wait(1);
ReleaseCharacterView(EGO);

will change the character’s EGO view to view 12, perform an animation using loop 1, wait until the animation finishes and then return the character to his normal view.
See Also: ReleaseCharacterView, SetCharacterView, SetCharacterViewOffset
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"
hansa_export
Süßwasserpirat
Süßwasserpirat
Beiträge: 314
Registriert: 17.02.2005, 15:46

Vielen Dank!

Beitrag von hansa_export »

Vielen Dank!

Das hat mir sehr geholfen, endlich kann ich meine Figur zu Ende animieren!

Vielleicht hast du ja auch eine Antwort auf mein anderes Problem?? Ist auch hier gepostet im AGS Forum >> "Charakter<->Charakter Reden/Gib"

mfg steffen :)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Soweit ich weiss ist der Bezugspunkt immer mittig unten.

Wenn Indy also nach links greifen soll und dadurch das Sprite links meinetwegen 15px größer wird, musst Du nur rechts auch 15px anfügen (die halt leer bleiben). Schon klappts auch ohne align.
Use gopher repellent on funny little man
hansa_export
Süßwasserpirat
Süßwasserpirat
Beiträge: 314
Registriert: 17.02.2005, 15:46

Beitrag von hansa_export »

Da das Problem jetzt doch häufiger auftrat kam ich nicht umzu alle Zeichnungen auf eine einheitliche Größe zu bringen! War zwar etwas Arbeit, aber dafür brauche ich mir keine Gedanken mehr darüber zu machen...

Habe sie jetzt alle auf 100 x 62 gebracht, das reicht für meine Animationen...

mfg steffen :)

Danke für die Antworten!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

hansa_export hat geschrieben:Habe sie jetzt alle auf 100 x 62 gebracht, das reicht für meine Animationen...
Das wär aber nicht nötig gewesen...
Sieht in AGS aber immerhin schön aus, wenn alle sprites die gleiche Größe haben, ganz umsonst war's also nicht ;)
Use gopher repellent on funny little man
Antworten