Animierter sprechende Charakter

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Take79

Animierter sprechende Charakter

Beitrag von Take79 »

Hab n kleines Problem... möchte n Charakter erstellen der sich von alleine Bewegt und dabei spricht.
Zur kurzen Erklärung zum besser verstehen... ein Verkäufer soll ein wenig Werbung machen und dabei IMMER etwas quatschen.. aber wenn ich mit ihm rede soll er sein Monolog beenden und mit dem Spieler ein Gespräch führen. Und nach dem Gespräch soll er wieder alleine quatschen und sich bewegen.
Halt ne einfach Animation...
Bitte alles Step für Step.
Thx
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Animierter sprechende Charakter

Beitrag von KhrisMUC »

Take79 hat geschrieben:Halt ne einfach Animation...
Nicht ganz.

AGS 2.7:
Du brauchst eine globale Variable, die festhält, ob Stan (so nenn ich ihn mal ;)) gerade einen Dialog oder seinen Monolog führt. Außerdem einen Pointer für den BackgroundSpeech-Overlay.
Und natürlich einen Loop in seiner Normal View, in dem er sich von selbst bewegt (mit den Händen fuchtelt) und redet. In diesem Fall loop 4.

player enters screen (after fade-in):

Code: Alles auswählen

stantalks=1;
cStan.Animate(4, 1, eRepeat, eNoBlock);
Anfang vom global script:

Code: Alles auswählen

Overlay *stano;
int stantalks;
export stano;
export stantalks;
Im Script header:

Code: Alles auswählen

import stano;
import stantalks;
repeatedly_execute (room):

Code: Alles auswählen

if (stantalks==1)
{
  if (stano==null)
  {
    stano=cStan.SayBackground("...bla bla bla...");
  }
}
Talk to Stan-Interaction:
1.RunScript:

Code: Alles auswählen

stantalks=0;
sStan.StopMoving(); ??
while(stano!=null) Wait(1);
RunDialog(1);
2.RunScript:

Code: Alles auswählen

stantalks=1;
cStan.Animate(4, 1, eRepeat, eNoBlock);
Keine Ahnung, ob das auf Anhieb funktioniert, hab's nicht getestet!
Strazer?
Use gopher repellent on funny little man
Antworten