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

📄 myworld.java

📁 介绍一个J2ME程序中锥体图形画法的源代码。
💻 JAVA
字号:
import javax.microedition.lcdui.*;
import javax.microedition.m3g.*;



public class MyWorld extends Canvas implements Runnable{
	World scene;
	Camera cam;
	Graphics3D gr3D;
	Thread animateThread;
	Transform trans;
	float x=0.0f;
	float y=0.2f;
	float z=4.5f;
	public MyWorld(){
		scene=new World();
		gr3D=Graphics3D.getInstance();
		scene.addChild(MyWorld.createPlane(null,0));
		addCamera();
		animateThread=new Thread(this);
		animateThread.start();
		System.out.println("错误报告");
	}
	
	public static Mesh createPlane(String texFilename,int cullFlags){
		byte[] VERTEX_POSITIONS={
				-1,-1, 1,
				 1,-1, 1,
				 1,-1,-1,
				-1,-1,-1,
				 0, 1, 0
		};
		byte[] VERTEX_COLORS={
				127,  0,  0,
				  0,127,  0,
				  0,  0,127,
				127,  0,127,
				  0,127,127
		};
		VertexArray va;
		IndexBuffer triangles;
		va=new VertexArray(VERTEX_POSITIONS.length/3,3,1);
		va.set(0, VERTEX_POSITIONS.length/3, VERTEX_POSITIONS);
		VertexArray vaColor=new VertexArray(VERTEX_COLORS.length/3,3,1);
		vaColor.set(0,VERTEX_COLORS.length/3, VERTEX_COLORS);
		VertexBuffer vbuf=new VertexBuffer();
		vbuf.setPositions(va,1.0f,null);
		vbuf.setColors(vaColor);
		
		int[] striplengths =new int[]{18};
		int[] index=new int[]{
				0,1,4,
				1,2,4,
				2,3,4,
				3,0,4,
				2,1,0,
				2,0,3,
		};
		triangles =new TriangleStripArray(index,striplengths);
		Appearance appearance=new Appearance();
		Mesh mesh=new Mesh(vbuf,triangles,appearance);
		
		return mesh;
	}
	public void addCamera(){
		cam=new Camera();
		float aspectRatio=((float)getWidth()/(float)getHeight());
		cam.setPerspective(70.0f, aspectRatio, 0.1f, 50.0f);
		trans=new Transform();
		trans.postTranslate(x, y, z);
		cam.setTransform(trans);
		scene.addChild(cam);
		scene.setActiveCamera(cam);
	}
		
	protected void paint(Graphics g) {
		
		g.drawString("thread", 0, 0, 256);
		gr3D.bindTarget(g);
		gr3D.render(scene);
		
	}

	public void run() {
		while(true){
			repaint();
			try {
				Thread.sleep(200);
			} catch (InterruptedException e) {
			
				e.printStackTrace();
			}
		}
		
	}


}

⌨️ 快捷键说明

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