Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyWallpaperRenderer extends RajawaliRenderer {
- private final int MAX_CUBE=64;
- private Animation3D[] mAnims=new Animation3D[MAX_CUBE];
- private RotateAnimation3D mCameraAnim;
- public MyWallpaperRenderer(Context context) {
- super(context);
- setFrameRate(60);
- }
- public void initScene() {
- ALight light = new DirectionalLight();
- light.setPower(1);
- light.setPosition(0, 0, -5);
- mCamera.setPosition(0, 0, -20);
- mCamera.setLookAt(0, 0, 0);
- Cube[] cubes=new Cube[MAX_CUBE];
- int k=-1;
- for (int i=0; i<Math.sqrt(MAX_CUBE); i++) {
- for (int j=0; j<Math.sqrt(MAX_CUBE); j++) {
- k++;
- Cube cube=(cubes[k]= new Cube(0.6f));
- DiffuseMaterial material = new DiffuseMaterial();
- material.setUseColor(true);
- cube.setMaterial(material);
- cube.addLight(light);
- cube.setColor(0xff00ff00);
- //cube.setColor(Color.argb(255, (int)Math.random()*255, (int)Math.random()*255, (int)Math.random()*255));
- cube.setPosition(i-(int)(Math.sqrt(MAX_CUBE)/2), j-(int)(Math.sqrt(MAX_CUBE)/2), 0);
- addChild(cube);
- Number3D axis = new Number3D(3, 1, 6);
- axis.normalize();
- mAnims[k] = new RotateAnimation3D(axis, 360);
- mAnims[k].setDuration(1000+k*50);
- mAnims[k].setRepeatCount(Animation3D.INFINITE);
- mAnims[k].setInterpolator(new AccelerateDecelerateInterpolator());
- mAnims[k].setTransformable3D(cube);
- }
- }
- Number3D axis = new Number3D(0, 1, 6);
- mCameraAnim = new RotateAnimation3D(axis, 360);
- mCameraAnim.setDuration(2000);
- mCameraAnim.setRepeatCount(Animation3D.INFINITE);
- mCameraAnim.setInterpolator(new AccelerateDecelerateInterpolator());
- mCameraAnim.setTransformable3D(mCamera);
- }
- public void onSurfaceCreated(GL10 gl, EGLConfig config) {
- super.onSurfaceCreated(gl, config);
- for (int i=0; i<MAX_CUBE; i++) {
- Animation3D mAnim=mAnims[i];
- mAnim.start();
- }
- mCameraAnim.start();
- }
- public void onDrawFrame(GL10 glUnused) {
- super.onDrawFrame(glUnused);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement