Advertisement
Guest User

Untitled

a guest
May 21st, 2012
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.05 KB | None | 0 0
  1. public class MyWallpaperRenderer extends RajawaliRenderer {
  2.    
  3.     private final int MAX_CUBE=64;
  4.     private Animation3D[] mAnims=new Animation3D[MAX_CUBE];
  5.     private RotateAnimation3D mCameraAnim;
  6.    
  7.     public MyWallpaperRenderer(Context context) {
  8.         super(context);
  9.         setFrameRate(60);
  10.     }
  11.    
  12.     public void initScene() {
  13.         ALight light = new DirectionalLight();
  14.         light.setPower(1);
  15.         light.setPosition(0, 0, -5);
  16.        
  17.        
  18.         mCamera.setPosition(0, 0, -20);
  19.         mCamera.setLookAt(0, 0, 0);
  20.  
  21.         Cube[] cubes=new Cube[MAX_CUBE];
  22.        
  23.         int k=-1;
  24.        
  25.         for (int i=0; i<Math.sqrt(MAX_CUBE); i++) {
  26.             for (int j=0; j<Math.sqrt(MAX_CUBE); j++) {
  27.                 k++;
  28.                
  29.                 Cube cube=(cubes[k]= new Cube(0.6f));
  30.                
  31.                 DiffuseMaterial material = new DiffuseMaterial();
  32.                 material.setUseColor(true);
  33.                 cube.setMaterial(material);
  34.                 cube.addLight(light);
  35.                
  36.                 cube.setColor(0xff00ff00);
  37.                 //cube.setColor(Color.argb(255, (int)Math.random()*255, (int)Math.random()*255, (int)Math.random()*255));
  38.                
  39.                 cube.setPosition(i-(int)(Math.sqrt(MAX_CUBE)/2), j-(int)(Math.sqrt(MAX_CUBE)/2), 0);
  40.                 addChild(cube);
  41.                
  42.                 Number3D axis = new Number3D(3, 1, 6);
  43.                 axis.normalize();
  44.                
  45.                 mAnims[k] = new RotateAnimation3D(axis, 360);
  46.                 mAnims[k].setDuration(1000+k*50);
  47.                 mAnims[k].setRepeatCount(Animation3D.INFINITE);
  48.                 mAnims[k].setInterpolator(new AccelerateDecelerateInterpolator());
  49.                 mAnims[k].setTransformable3D(cube);
  50.             }          
  51.         }
  52.        
  53.         Number3D axis = new Number3D(0, 1, 6);
  54.         mCameraAnim = new RotateAnimation3D(axis, 360);
  55.         mCameraAnim.setDuration(2000);
  56.         mCameraAnim.setRepeatCount(Animation3D.INFINITE);
  57.         mCameraAnim.setInterpolator(new AccelerateDecelerateInterpolator());
  58.         mCameraAnim.setTransformable3D(mCamera);
  59.  
  60.        
  61.     }
  62.    
  63.     public void onSurfaceCreated(GL10 gl, EGLConfig config) {
  64.         super.onSurfaceCreated(gl, config);
  65.        
  66.         for (int i=0; i<MAX_CUBE; i++) {
  67.             Animation3D mAnim=mAnims[i];
  68.             mAnim.start();
  69.         }
  70.        
  71.         mCameraAnim.start();
  72.        
  73.     }
  74.  
  75.     public void onDrawFrame(GL10 glUnused) {
  76.         super.onDrawFrame(glUnused);
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement