Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

SpriteShootout - Mapped optimized

By: a guest on Jul 24th, 2011  |  syntax: Java 5  |  size: 1.05 KB  |  views: 158  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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 dx = sprites[b].dx;
  14.                 float x = sprites[b].x;
  15.  
  16.                 x += dx * delta;
  17.                 if ( x < ballRadius ) {
  18.                         x = ballRadius;
  19.                         dx = -dx;
  20.                 } else if ( x > boundW ) {
  21.                         x = boundW;
  22.                         dx = -dx;
  23.                 }
  24.  
  25.                 sprites[b].dx = dx;
  26.                 sprites[b].x = x;
  27.                 spritesRender[r].x = x;
  28.  
  29.                 float dy = sprites[b].dy;
  30.                 float y = sprites[b].y;
  31.  
  32.                 y += dy * delta;
  33.                 if ( y < ballRadius ) {
  34.                         y = ballRadius;
  35.                         dy = -dy;
  36.                 } else if ( y > boundH ) {
  37.                         y = boundH;
  38.                         dy = -dy;
  39.                 }
  40.  
  41.                 sprites[b].dy = dy;
  42.                 sprites[b].y = y;
  43.                 spritesRender[r].y = y;
  44.         }
  45.  
  46. }