Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected void animate(
- final Sprite sprite,
- final SpriteRender spriteRender,
- final int ballSize, final int ballIndex, final int batchSize, final int delta
- ) {
- final float ballRadius = ballSize * 0.5f;
- final float boundW = SCREEN_WIDTH - ballRadius;
- final float boundH = SCREEN_HEIGHT - ballRadius;
- final Sprite[] sprites = sprite.asArray();
- final SpriteRender[] spritesRender = spriteRender.asArray();
- for ( int b = ballIndex, r = 0, len = (ballIndex + batchSize); b < len; b++, r++ ) {
- float x = sprites[b].x;
- float dx = sprites[b].dx;
- x += dx * delta;
- if ( x < ballRadius ) {
- x = ballRadius;
- sprites[b].dx = -dx;
- } else if ( x > boundW ) {
- x = boundW;
- sprites[b].dx = -dx;
- }
- sprites[b].x = x;
- float y = sprites[b].y;
- float dy = sprites[b].dy;
- y += dy * delta;
- if ( y < ballRadius ) {
- y = ballRadius;
- sprites[b].dy = -dy;
- } else if ( y > boundH ) {
- y = boundH;
- sprites[b].dy = -dy;
- }
- sprites[b].y = y;
- spritesRender[r].x = x;
- spritesRender[r].y = y;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement