
上QQ阅读APP看书,第一时间看更新
Time for action — detailing the Render event
Ok, let's start with detailing the OnRender
method.
- First, before we render anything, we will clear the screen with a nice blue color.
Method OnRender:Int() Cls(0, 0, 50)
- Next, we will call different render methods, depending on the mode the game is in.
Select gameMode Case gmMenu, gmGameOver RenderGame() RenderMenu() Case gmPlay RenderGame() End Return True End
- Add the
RenderMenu
method. Inside, we will draw different text, depending on the mode the game is in.Method RenderMenu:Int() Local cd:Int = Rnd(0,100) If gameMode = gmMenu SetColor(255-cd,0,0) Local s1:String = "*** Rocket Commander ***" DrawText(s1, cWidth/2, cHeight/2 - 48, 0.5, 0.0) SetColor(255,255,255) Local s2:String = "Press P to start the game" DrawText(s2, cWidth/2, cHeight/2, 0.5, 0.0) Local s3:String = "Press A Or S To fire the rockets" DrawText(s3, cWidth/2, cHeight/2 + 48, 0.5, 0.0) Else SetColor(255-cd, 0, 0) Local s1:String = "*** GAME OVER ***" DrawText(s1, cWidth/2, cHeight/2 - 24, 0.5, 0.0) SetColor(255,255,255) Local s2:String = "Press R to restart the game" DrawText(s2, cWidth/2, cHeight/2 + 24, 0.5, 0.0) Return True Endif Return True End
- Add the body of the
RenderGame
method. We will fill it with details later.Method RenderGame:Int() Return True End
It's better to be safe than sorry. Save the file, so your changes are not destroyed if your computer shuts down for any reason.
What just happened?
As you can see, we have slowly acquired the skeleton of our game. Of course, no objects so far, but the basic structure is almost set.