Time for action — creating the ball

As it can be destroyed by the enemy, we will wrap up its creation inside its own method. That makes this process reusable.

  1. Insert the method CreateBall into our game class.
    Method CreateBall:Int ()
    
  2. The ball is a field set inside the game class, so assign an image object to it through the CreateImage method. It will be placed in the lower center of the canvas:
    ball = eng.CreateImage(atlas,64,0,32,32,cw/2,ch-50)
    
  3. Set its radius and scale:
    ball.SetRadius(16)
    ball.SetScale(1.5)
    
  4. Now, set the friction property. Once in movement, we don't want it to move forever, but slow down once you don't tilt the device:
    ball.SetFriction(0.8)
    
  5. Assign it to the game layer:
    ball.SetLayer(layerGame)
    
  6. To detect a collision, set its collision group to grpBall, so that it can collide with the enemies and the tiles:
    ball.SetColGroup(grpBall)
    ball.SetColWith(grpEnemy, True)
    ball.SetColWith(grpTile, True)
    
  7. Finally, set its maximum speed to 20, and close the method off:
    ball.SetMaxSpeed(20)
    Return 0
    End
    

What just happened?

We have created a reusable method to create a ball whenever we need one. Fancy several player balls? Not at the moment, but it could be an enhancement that you could add on your own.

Have a go hero — Add more player balls

You know what would be cool? Having the player control several balls at the same time. You could do this in different ways, either by modifying the preceding method to create several balls at different positions, or make this method flexible regarding its position and once you call it, give the position with the call.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.218.157