Charakter im Hintergrund animieren

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
gff
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 802
Registriert: 09.03.2004, 18:49
Wohnort: Ge
Kontaktdaten:

Charakter im Hintergrund animieren

Beitrag von gff »

Ich dachte inzwischen würde ich mit AGS klarkommen.Von wegen!
// room script file

function repeatedly_execute_always() {
int a=0;
if(a<10)
{
a=a+1;
if(a==10)
{
character[IUW].LockView(12);
character[IUW].Animate(0,1,eRepeat,eNoBlock);
a=0;
}
}
}
Der Charakter soll die Animation immer nach kurzem Zeitraum,im Hintergrund,spielen.Doch er tut garnichts.
Bald geb ichs auf und mach ein Object draus.Was ich aber nicht gerne tun würde weil ich viele solcher Animationen machen möchte.Und Objekte machen ja bekanntlich das Spiel langsam...
perfektopheles

Re: Charakter im Hintergrund animieren

Beitrag von perfektopheles »

Wenn a<10 bleibt, dann kommt er nicht mehr in das innere der If-Klausel (a<10) :? Sollte das nicht while sein? Muss du a=0 setzen vor em ersten if?
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Charakter im Hintergrund animieren

Beitrag von KhrisMUC »

Code: Alles auswählen

// room script file

int a;

function repeatedly_execute_always() {
  a++;
  if(a==10) {
    character[IUW].LockView(12);
    character[IUW].Animate(0,1,eRepeat,eNoBlock);
    a=0;
  }
}
int a; muss außerhalb stehen, sonst ist a jedesmal 0, dann 1, dann ist die Funktion zu ende, dann wieder 0, dann 1, ende, usw...
Müsste das nicht eOnce heißen? Wie lang ist die Animation?
Soll sie wirklich 4x pro Sekunde gestartet werden? Oder eher if (a==400)?

Oder halt gleich:

Code: Alles auswählen

function room_Load() {
  cIuw.SetIdleView(12, 10);
}
Benutzeravatar
gff
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 802
Registriert: 09.03.2004, 18:49
Wohnort: Ge
Kontaktdaten:

Re: Charakter im Hintergrund animieren

Beitrag von gff »

KhrisMUC hat geschrieben:int a; muss außerhalb stehen, sonst ist a jedesmal 0, dann 1, dann ist die Funktion zu ende, dann wieder 0, dann 1, ende, usw...
Arghh natürlich!! ](*,) Jetzt funktioniert es auch :wink:
KhrisMUC hat geschrieben:Müsste das nicht eOnce heißen? Wie lang ist die Animation?Soll sie wirklich 4x pro Sekunde gestartet werden? Oder eher if (a==400)?
Jau,eOnce ist hier besser.
a==10 war einfach gesetzt um zu sehen ob es funktioniert.

Code: Alles auswählen

function room_Load() {
cIuw.SetIdleView(12, 10);
}
Das geht auch??Ich hab mir die Hacken abgesucht(Hacken abgesucht? :wink: ) nach einer Möglichkeit die Zeit des IdleViews zu verstellen.Man lernt nie aus^^
Egal,jetzt kann ich die Animationen einfacher auf Ereignisse abstimmen.
Mal wieder:Dankes sehr :D
Antworten