Diashow

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Mr. Woodroffe
Süßwasserpirat
Süßwasserpirat
Beiträge: 432
Registriert: 28.06.2006, 10:34
Wohnort: Gersthofen
Kontaktdaten:

Diashow

Beitrag von Mr. Woodroffe »

Hi Leute,
bin grad am programmieren eines adventures, die ersten screens sind schon fertig und jetzt will ich so eine Art Diashow einfügen wo einzele bilder angezeigt werden in etwa so wie in Powerpoint.

Geht das eigentlich? und wenn ja dann wie?

Danke für eure Hilfe
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Mach doch einfach mehrere Objekte, die den gesamten Bildschirm ausfüllen und setz dann nacheinander alle auf visible. Das gibt den gleichen Effekt. Das ganze kannst Du dann ja mit nem Timer steuern, damit das nächste Objekt dann meinetwegen erst nach 5 Sekunden oder so angezeigt wird.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Es geht auch nur mit einem Objekt.
Dann mit Intervallen dazwischen einfach Object.Graphic ändern.

Oder mit RadDrawImage() einfach drüber zeichnen.

Mr. Woodroffe:
Mehr Info: Soll sich die Diashow im Hintergrund abspielen? Will sagen, soll man während der Diashow mit dem Charakter rumlaufen und Aktionen ausführen können?

Und soll sich nur ein Teil des Bildschirms ändern?
Use gopher repellent on funny little man
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Ich stimme Khris zu, am einfachsten geht es wahrscheinlich mit einem Objekt.
Ich würde noch empfehlen, dass du dir mal alles zum Thema Timer (SetTimer, IsTimerExpired) durchliest, dann brauchst du kein Wait um dass weiterschalten der Dias zu kontrolieren, und der Spieler kann gleichzeitig handeln.

Natürlich geht dass auch:
Oder mit RadDrawImage() einfach drüber zeichnen.
allerdings nur, wenn man es richtig schreibt RawDrawImage() :roll: :lol:
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"
Benutzeravatar
Mr. Woodroffe
Süßwasserpirat
Süßwasserpirat
Beiträge: 432
Registriert: 28.06.2006, 10:34
Wohnort: Gersthofen
Kontaktdaten:

Beitrag von Mr. Woodroffe »

hi,
danke ich werds mal mit einem object und einem timer versuchen
danke für den tipp

zur verwircklichung mir schwebt da so vor augen das ich alls zwischenspann wie eine art bildergeschichte mache der dann die story nach und nach erzählt :D :D
naj muss mal schauen wie das wird
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Wenn du es nur für eine Zwischensequenz brauchst, also ohne kontrolierbaren Spielercharakter, dann würde ich empfehlen mit Wait zu arbeiten. In einer Cutscene ist ein Timer überflüssig und Wait ist einfacher, weil du nicht immer wieder prüfen musst, ob der Timer wieder abgelaufen ist, du kannst einfach schreiben:
object[2].Graphic = 100;
Wait (10);
object[2].Graphic = 101;
Wait (10);
object[2].Graphic = 102;
(Zahlen sind natürlich nur Beispiele)
Eine weitere Möglichkeit, die ich vorher vergessen hatte, ist mit einer Animation zu arbeiten (weniger Schreibarbeit im Script), indem du alle Bilder in einen View setzt und den dann mit langsamer Geschwindigkeit als Objekt-Animation ablaufen lässt.
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"
Benutzeravatar
Mr. Woodroffe
Süßwasserpirat
Süßwasserpirat
Beiträge: 432
Registriert: 28.06.2006, 10:34
Wohnort: Gersthofen
Kontaktdaten:

Beitrag von Mr. Woodroffe »

Hi danke
genau sowas hab ich mir gedacht.
werds mal damit versuchen das mit dem timer ist eh etwas kompliziert.

und wie ist das wenn die Diashow im hintergrund abläuft.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

repeatedly_execute des Raumes:

Code: Alles auswählen

  if (IsTimerExpired(1)) {
    if (object[2].Graphic<110) {  // 110: letztes Sprite der Show
      object[2].Graphic++;    // nächstes Bild
      SetTimer(1, GetGameSpeed()*10);   // 10 Sekunden
    }
  }
Zum Starten der Show:

Code: Alles auswählen

SetTimer(1, GetGameSpeed()*10);
Use gopher repellent on funny little man
Antworten