Adventure Game Studio

AGS Support => Beginners' Technical Questions => Topic started by: Akatosh on Sat 26/07/2008 16:01:17

Title: GUI not showing up despite being asked nicely [SOL-VEED]
Post by: Akatosh on Sat 26/07/2008 16:01:17
Exactly. The platformer I'm currently working on sport a (critical) GUI by the name of gBlurb, carrying three buttons called btnCrash, btnEvade, and btnDestroy. Now, at the start of every new level, I need the button graphics to update and the GUI to become visible so the player knows what to do. Here's the script I've been using:



some crap about placing enemies etc.

//update button graphics
  ViewFrame *frame = Game.GetViewFrame(enemyView[1],0,0);
  btnCrash.NormalGraphic= frame.Graphic;
 
  frame = Game.GetViewFrame(enemyView[0],0,0);
  btnEvade.NormalGraphic=frame.Graphic;
 
  frame = Game.GetViewFrame(enemyView[2],0,0); 
  btnDestroy.NormalGraphic=frame.Graphic;

//extra life?
  if (lives<3) lives++; else GiveScore(1);

//reset timer
  timeleft=GetGameSpeed()*10+level*GetGameSpeed();

//play background music
  PlayMusic(Random(4));

//show gui
  gBlurb.Visible=true;
  WaitKey(99999);
  gBlurb.Visible=false;


Everything works just fine, up until the point the GUI should become visible. The extra life is added, the sound is played etc. - just gBlurb isn't shown. I'm totally at a loss here. Mind pointing out my probably soul-crushingly obvious mistake?  :-[
Title: Re: GUI not showing up despite being asked nicely
Post by: Khris on Sat 26/07/2008 16:09:45
My guess is there's a keypress still in the buffer or something and thus the GUI is turned back off immediately.
Title: Re: GUI not showing up despite being asked nicely [solved]
Post by: Akatosh on Sat 26/07/2008 16:13:32
Don't think so. Inserting another WaitKey(1) right before the other one doesn't cause it to work, either.

/EDIT: *facepalm*

After trying WaitKey(100) instead, I found the problem:
999.999 is too high a number to store as int - it just goes negative, causing the game not to pause at all. Gah! Well, thanks for trying to help. Somebody punch me in the face, please.