O'Reilly logo

Practical XMPP by David Koelle, Lloyd Watkin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Maintaining the ball state in the component

As we discussed earlier, the server-side component will maintain the position and direction of the ball. Let's start by bringing in some variables related to the ball that we previously saw in the clients.

Recall that we have these variables to work with:

let ballX, ballY
const ballRadius = 3
let ballHeading; // degrees
let ballSpeed;  // pixels per millisecond

In the version of the code from the last chapter, we maintained two variables, ballDeltaX and ballDeltaY, to indicate the direction of the ball. In this version, we are going to do something slightly different. We will maintain the ball's heading, in radians (with 0 meaning straight to the right and increasing counter-clockwise; a full circle contains ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required