Example6.java
上传用户:gyyuli
上传日期:2013-07-09
资源大小:3050k
文件大小:2k
源码类别:

J2ME

开发平台:

Java

  1. import javax.microedition.m3g.*;
  2. /**
  3.  * Image, sprite and background test.
  4.  *
  5.  * The test moves a sprite back and forth in front of the camera. The
  6.  * transition between different mipmap levels should be visible.
  7.  *
  8.  */
  9. public class Example6 extends ExampleBase
  10. {
  11.     private static final int IMAGE_BASE_SIZE = 128;
  12. //  private static final int IMAGE_BASE_SIZE = 256 - 13;
  13.     private static final String TEXTURE_NAME = "/textures/pukki_small_cg2.png";
  14.     
  15.     private World iWorld;
  16.     private Background iBackground;
  17.     private Sprite3D iSprite;
  18.     private Image2D iImage;
  19.     
  20.     public Example6()
  21.     {
  22.         super(SHOW_RENDER_TIME);
  23.     }
  24.     protected void render(int time)
  25.     {
  26.         double temp = Math.tan((1.0f - (float)Math.cos(time * 0.0005f))*0.5f);
  27.         iSprite.setTranslation(0.0f, 0.0f, (float)(temp*temp*temp) * -100.0f + 30.0f);
  28.         Graphics3D.getInstance().render(iWorld);
  29.     }
  30.     protected void initialize()
  31.     {
  32.         iWorld = new World();
  33.         Camera camera = new Camera();
  34.         camera.setPerspective(70.0f, 1.0f, 1.0f, 10000.0f);
  35.         camera.setTranslation(0.0f, 0.0f, 40.0f);
  36.         iWorld.addChild(camera);
  37.         iWorld.setActiveCamera(camera);
  38.         Light light = new Light();
  39.         light.setTranslation(0.0f, 0.0f, 40.0f);
  40.         iWorld.addChild(light);
  41.         iImage = new Image2D(Image2D.RGBA, platformServices.loadImage(TEXTURE_NAME));
  42.         iBackground = new Background();
  43.         iBackground.setColor(0xffFFFFFF);
  44.         iWorld.setBackground(iBackground);
  45.         iSprite = new Sprite3D(true, iImage, new Appearance());
  46.         iSprite.setScale(20.0f, 20.0f, 20.0f);
  47.         iWorld.addChild(iSprite);
  48.     }
  49.     
  50. }