⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plane.java

📁 3D迷宫的基于J2ME的手机游戏源代码
💻 JAVA
字号:

import javax.microedition.m3g.*;

class Plane
{
  // define a square in plane xy
  private final static short POINTS[] = new short[]
  {
    (short) 1, (short) 1, (short) 0,
    (short) 1, (short) -1, (short) 0,
    (short) -1, (short) 1, (short) 0,
    (short) -1, (short) -1, (short) 0,
  };

  // define the texture coordinates
  private final static short TEXTCOORDINATES[] = new short[]
  {
    (short) 1, (short) 1,
    (short) 0, (short) 1,
    (short) 1, (short) 0,
    (short) 0, (short) 0,
  };

  // triangle strip indices
  private final static int INDICES[] =
  {
    2, 3, 0,
    1, 0, 3,
    0, 3, 2,
    3, 0, 1
  };

  // strip lengths
  private final static int[] LENGTHS = new int[] {3, 3, 3, 3};

  // these arrays are the same for each plane
  private final static VertexArray POSITIONS_ARRAY, TEXTURE_ARRAY;
  private final static IndexBuffer INDEX_BUFFER;

  private Transform wallTransform = new Transform();
  private float textureRepeat;


  static
  {
    // initialize the common arrays
    POSITIONS_ARRAY = new VertexArray(POINTS.length / 3, 3, 2);
    POSITIONS_ARRAY.set(0, POINTS.length / 3, POINTS);
    TEXTURE_ARRAY = new VertexArray(TEXTCOORDINATES.length / 2, 2, 2);
    TEXTURE_ARRAY.set(0, TEXTCOORDINATES.length / 2, TEXTCOORDINATES);
    INDEX_BUFFER = new TriangleStripArray(INDICES, LENGTHS);
  }

  // Builds a new plane with a given transform)
  // and the texture repeated n times
  Plane(Transform wallTransform, float textureRepeat)
  {
    this.wallTransform = wallTransform;
    this.textureRepeat = textureRepeat;
  }
  // Build the mesh
  Mesh createMesh()
  {
    VertexBuffer vertexBuffer = new VertexBuffer();
    vertexBuffer.setPositions(POSITIONS_ARRAY, 1.0f, null);
    vertexBuffer.setTexCoords(0,
                              TEXTURE_ARRAY,
                              (float) textureRepeat, null);

    Mesh mesh = new Mesh(vertexBuffer, INDEX_BUFFER, null);
    mesh.setTransform(wallTransform);
    return mesh;
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -