// room script file bool credits_running; function room_Load() { int yellow = Game.GetColorFromRGB(255, 255, 0); int white = Game.GetColorFromRGB(255, 255, 255); Credits.SetFont(eFontFont0, 15); // font, line height Credits.SetColor(white); // default text color Credits.SetShadow(17, 1, 1); // color, offsetX, offsetY Credits.SetWidth(200); // total width of credits text Credits.SetDelay(1, -5); // 1 pixel per frame, 5 pixels per frame when mouse is held down Credits.AddLine("Made with", eAlignCenter, 0, yellow); Credits.AddLine("Adventure Game Studio"); Credits.AddSpace(); Credits.AddLine("Special Thanks To", eAlignCenter, 0, yellow); // yellow text Credits.AddLine("Alice", eAlignLeft); Credits.AddLine("Bob", eAlignRight, -1); // offset -1: add text to previous line Credits.AddLine("Charles", eAlignLeft); Credits.AddLine("Dick", eAlignRight, -1); Credits.AddLine("Eddie"); Credits.AddSpace(50); // add gap of 50 pixels Credits.AddLine("THE END"); } DynamicSprite* credits; // create pointer void StartCredits() { credits_running = true; // set flag for room_RepExec gCredits.Visible = true; // show GUI credits = Credits.Tick(); // run first update to get sprite gCredits.BackgroundGraphic = credits.Graphic; // set GUI background } void CreditsEnded() { gCredits.Visible = false; // hide GUI credits.Delete(); // clean up credits_running = false; // reset flag QuitGame(0); // or go to main menu } void DoCredits() { Credits.Tick(); // advance credits display if (Credits.Done()) CreditsEnded(); // credits have finished } function room_RepExec() { if (credits_running) DoCredits(); } void on_key_press(eKeyCode k) { if (k == eKeySpace) StartCredits(); }