Advertisement
Guest User

SpriteShootout - Mapped naive

a guest
Jul 24th, 2011
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.04 KB | None | 0 0
  1. protected void animate(
  2.     final Sprite sprite,
  3.     final SpriteRender spriteRender,
  4.     final int ballSize, final int ballIndex, final int batchSize, final int delta
  5. ) {
  6.     final float ballRadius = ballSize * 0.5f;
  7.     final float boundW = SCREEN_WIDTH - ballRadius;
  8.     final float boundH = SCREEN_HEIGHT - ballRadius;
  9.  
  10.     final Sprite[] sprites = sprite.asArray();
  11.     final SpriteRender[] spritesRender = spriteRender.asArray();
  12.     for ( int b = ballIndex, r = 0, len = (ballIndex + batchSize); b < len; b++, r++ ) {
  13.         float x = sprites[b].x;
  14.         float dx = sprites[b].dx;
  15.  
  16.         x += dx * delta;
  17.         if ( x < ballRadius ) {
  18.             x = ballRadius;
  19.             sprites[b].dx = -dx;
  20.         } else if ( x > boundW ) {
  21.             x = boundW;
  22.             sprites[b].dx = -dx;
  23.         }
  24.         sprites[b].x = x;
  25.  
  26.         float y = sprites[b].y;
  27.         float dy = sprites[b].dy;
  28.  
  29.         y += dy * delta;
  30.         if ( y < ballRadius ) {
  31.             y = ballRadius;
  32.             sprites[b].dy = -dy;
  33.         } else if ( y > boundH ) {
  34.             y = boundH;
  35.             sprites[b].dy = -dy;
  36.         }
  37.         sprites[b].y = y;
  38.  
  39.         spritesRender[r].x = x;
  40.         spritesRender[r].y = y;
  41.     }
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement