Object langsam einblenden

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Sandy
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 166
Registriert: 14.08.2005, 11:04
Kontaktdaten:

Object langsam einblenden

Beitrag von Sandy »

Wie kann ich ein Object langsam einblenden?

Also was ich vorhabe ist ein Object im Intro langsam einzublenden. ich hoffe mal das geht.
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Du kannst die Transparenz eines Objectes festlegen. Fang mit 100 als Wert an und zähl dann inner Schleife runter auf 0.
Dann ist das Object erst durchsichtig und dann zum Schluß vollständig zu sehen.
Sandy
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 166
Registriert: 14.08.2005, 11:04
Kontaktdaten:

Beitrag von Sandy »

Und wie mache ich das genau?

Habe es so versucht

SetObjectTransparency(0, 100);
SetObjectTransparency(0, 90);
SetObjectTransparency(0, 80);
SetObjectTransparency(0, 70);
SetObjectTransparency(0, 60);
usw.

Das funktioniert aber nicht.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Da muss ein Wait(x); dazwischen, sonst werden die Befehle unmittelbar nacheinander ausgeführt, viel zu schnell, um es am Bildschirm darzustellen/zu sehen.

Am besten so:

Code: Alles auswählen

int delay=5;
int count=100;
int step=10;

while(count>0) {
  SetObjectTranspareny(0, count);
  count=count-step;
  Wait(delay);
}
SetObjectTransparency(0, 0);
Spiel einfach ein bisschen mit delay und step.

PS: AGS 2.7-code wäre: o[Objektname].Transparency=count;
Use gopher repellent on funny little man
Sandy
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 166
Registriert: 14.08.2005, 11:04
Kontaktdaten:

Beitrag von Sandy »

Funktioniert nicht

Habe folgendes gemacht

int delay=5;
int count=100;
int step=10;

eingefügt ins Room Script unter: // room script file

Das andere habe ich dann da reingesetzt wo ich es brauche, also in "First time Player enters Screen" da dort die Cutszene beginnt.

Kann es vielleicht daran liegen das es in einer Cutszene vorkommen soll?
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Sandy hat geschrieben:Funktioniert nicht

Habe folgendes gemacht

int delay=5;
int count=100;
int step=10;

eingefügt ins Room Script unter: // room script file

Das andere habe ich dann da reingesetzt wo ich es brauche, also in "First time Player enters Screen" da dort die Cutszene beginnt.
Ist zwar generell zu empfehlen, aber in diesem Fall überflüssig, da die Variablen nicht global sein müssen.
Sandy hat geschrieben:Kann es vielleicht daran liegen das es in einer Cutszene vorkommen soll?
Nein, glaube ich nicht.
Was passiert denn? Ist das Objekt sofort ganz sichtbar, oder erscheint es überhaupt nicht? Du musst schon ein bisschen genauer sein, sonst kann ich nur raten.

Übrigens hilft es beim Debuggen sehr, einfach an bestimmten Stellen Display-Befehle einzufügen, um rauszufinden, welcher Code überhaupt ausgeführt wird.

Z.B. so:

Code: Alles auswählen

int delay=5; 
int count=100; 
int step=10; 

while(count>0) { 
  SetObjectTranspareny(0, count); 
  Display("Transparency jetzt bei %d Prozent.", count);      // <------
  count=count-step; 
  Wait(delay); 
} 
SetObjectTransparency(0, 0);
Use gopher repellent on funny little man
Sandy
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 166
Registriert: 14.08.2005, 11:04
Kontaktdaten:

Beitrag von Sandy »

Also der Code funktioniert jetzt, aber wie bei dem anderen wird das Object nicht angezeigt sonder nur der Text.
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Ist das Object vielleicht auf nicht visible gesetzt???
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Du hast das Objekt schon mit ObjectOn eingeschaltet?
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Sandy
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 166
Registriert: 14.08.2005, 11:04
Kontaktdaten:

Beitrag von Sandy »

[ZENSIERT] hat geschrieben:Du hast das Objekt schon mit ObjectOn eingeschaltet?
Danke das habe ich vergessen. jetzt geht es endlich.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Warum einfach, wenn's kompliziert geht? :mrgreen:
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Antworten