Beispiel #1
0
  public Car() {
    /**
     * The car's "body" is this instance itself. That may seem a bit strange at first glance, but
     * it's quite convenient in this case.
     */
    super(Primitives.getBox(8, 0.25f));
    rightFront = Primitives.getSphere(5, 4);
    leftFront = Primitives.getSphere(5, 4);
    rightRear = Primitives.getSphere(5, 4);
    leftRear = Primitives.getSphere(5, 4);

    /** The wheels are parts, i.e. children of the car */
    addChild(rightFront);
    addChild(leftFront);
    addChild(rightRear);
    addChild(leftRear);

    /** Initialize the car and the wheels */
    setTexture("car");
    rightFront.setTexture("car");
    leftFront.setTexture("car");
    rightRear.setTexture("car");
    leftRear.setTexture("car");

    setEnvmapped(Object3D.ENVMAP_ENABLED);
    rightFront.setEnvmapped(Object3D.ENVMAP_ENABLED);
    leftFront.setEnvmapped(Object3D.ENVMAP_ENABLED);
    rightRear.setEnvmapped(Object3D.ENVMAP_ENABLED);
    leftRear.setEnvmapped(Object3D.ENVMAP_ENABLED);

    /** We need to offset the wheels a little... */
    rightFront.translate(new SimpleVector(-8, 4, 8));
    rightRear.translate(new SimpleVector(-8, 4, -8));
    leftFront.translate(new SimpleVector(8, 4, 8));
    leftRear.translate(new SimpleVector(8, 4, -8));

    rightFront.translateMesh();
    rightRear.translateMesh();
    leftFront.translateMesh();
    leftRear.translateMesh();

    rightFront.setTranslationMatrix(new Matrix());
    rightRear.setTranslationMatrix(new Matrix());
    leftFront.setTranslationMatrix(new Matrix());
    leftRear.setTranslationMatrix(new Matrix());

    /** ...the wheels are now in place. We can now build the car. */
    build();
    rightRear.build();
    rightFront.build();
    leftRear.build();
    leftFront.build();
  }
Beispiel #2
0
  static {
    // static initializer that creates a mesh blueprint and loads the
    // textures.
    try {
      SimpleStream ss = new SimpleStream("data/weapon.jpg");
      TextureManager.getInstance().addTexture("weapon", new Texture(ss.getStream()));
      ss.close();

      ss = new SimpleStream("data/snork.md2");
      bluePrint = new ClientObject(Loader.loadMD2(ss.getStream(), 0.22f)); // 0.32f
      bluePrint.translate(0, 4.5f, 0);
      bluePrint.translateMesh();
      bluePrint.getTranslationMatrix().setIdentity();
      bluePrint.translate(100000, 100000, 100000);

      sphereBluePrint = Primitives.getSphere(9, 6);
      sphereBluePrint.build();
      sphereBluePrint.setTexture("shield");

      sphereBluePrint.calcTextureWrapSpherical();

      ss.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
      if (fb != null) {
        fb.dispose();
      }
      fb = new FrameBuffer(gl, width, height);

      if (master == null) {

        world = new World();
        world.setAmbientLight(20, 20, 20);

        sun = new Light(world);
        sun.setIntensity(250, 250, 250);

        Texture texture =
            new Texture(BitmapHelper.convert(getResources().getDrawable(R.drawable.bublebgnd)));
        TextureManager.getInstance().addTexture("bublebgnd", texture);

        // Create a texture out of the icon...:-)
        texture =
            new Texture(
                BitmapHelper.rescale(
                    BitmapHelper.convert(getResources().getDrawable(R.drawable.icon)), 64, 64));
        TextureManager.getInstance().addTexture("tex", texture);

        bubbles = new Object3D[BUBBLES];
        for (byte i = 0; i < BUBBLES; i++) {
          Object3D bubble = Primitives.getSphere(8);
          bubble.calcTextureWrapSpherical();
          // bubble.setCulling(true);
          bubble.translate(-30 + i * 20, 30.0f, 0.0f);
          bubble.setTransparency(70);
          //  bubble.rotateX(-(float) Math.PI / Math.abs(r.nextInt()/3));
          bubble.setTexture("tex");
          bubble.strip();
          bubble.build();

          bubbles[i] = bubble;
        }

        background = Primitives.getPlane(1, 110f);
        // background.$
        // background.calcTextureWrapSpherical();
        background.setTexture("bublebgnd");
        background.strip();
        background.build();

        world.addObject(background);

        // world.
        world.addObjects(bubbles);

        Camera cam = world.getCamera();
        cam.moveCamera(Camera.CAMERA_MOVEOUT, 70);
        cam.lookAt(background.getTransformedCenter());
        //  cam.lookAt(bubbles.getTransformedCenter());

        SimpleVector sv = new SimpleVector();
        sv.set(background.getTransformedCenter());
        sv.y -= 100;
        sv.z -= 100;
        sun.setPosition(sv);
        MemoryHelper.compact();

        if (master == null) {
          Logger.log("Saving master Activity!");
          master = BubblesActivity.this;
        }
      }
    }