Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
MainClass.java
Package: J2ME&Game.rar [view]
Upload User: gyyuli
Upload Date: 2013-07-09
Package Size: 3050k
Code Size: 5k
Category:
J2ME
Development Platform:
Java
- import javax.microedition.midlet.*;
- import javax.microedition.midlet.MIDlet;
- import javax.microedition.lcdui.*;
- import javax.microedition.lcdui.game.*;
- import javax.microedition.m3g.*;
- import javax.microedition.io.*;
- import javax.microedition.media.*;
- import javax.microedition.media.control.*;
- import java.io.*;
- public class MainClass extends MIDlet{
- private Display d;
- public MainClass(){
- d = Display.getDisplay(this);
- }
- public void startApp() {
- d.setCurrent(new jsrCanvas(this));
- }
- public void pauseApp() {
- }
- public void destroyApp(boolean unconditional) {
- }
- }
- class jsrCanvas extends GameCanvas implements Runnable{
- private World world;
- private Graphics3D g3d = null;
- private Camera camera;
- private Mesh mesh;
- private boolean distance = false;
- private MIDlet midlet;
- public jsrCanvas(MIDlet m){
- super(false);
- midlet = m;
- setFullScreenMode(true);
- g3d = Graphics3D.getInstance();
- world = new World();
- camera = new Camera();
- world.addChild(camera);
- float w = getWidth();
- float h = getHeight();
- camera.setPerspective(60.0f, w / h, 0.1f, 1000f);
- mesh = MeshCreator.createMesh();
- mesh.translate(0.0f, 0.0f, -5.0f);
- world.addChild(mesh);
- world.setActiveCamera(camera);
- Thread t = new Thread(this);
- t.start();
- }
- public void keyPressed(int key){
- switch(key){
- case -6:
- midlet.notifyDestroyed();
- break;
- case -7:
- distance ^= true;
- if(distance){
- mesh.setTranslation(0.0f, 0.0f, -15.0f);
- }else{
- mesh.setTranslation(0.0f, 0.0f, -5.0f);
- }
- break;
- case -11:
- break;
- }
- }
- public void run(){
- Graphics g = getGraphics();
- FPS fps = new FPS();
- while(true){
- mesh.postRotate(1.0f, 0.0f, 1.0f, 0.0f);
- fps.calculateFps();
- draw3D(g);
- g.setColor(0xFF0000);
- g.drawString(fps.fps_string, 0, 0, 0);
- flushGraphics();
- }
- }
- public void draw3D(Graphics g){
- try{
- g3d.bindTarget(g);
- g3d.render(world);
- }catch(Exception e){
- }finally{
- g3d.releaseTarget();
- }
- }
- }
- class MeshCreator{
- public static Mesh createMesh(){
- byte []coordinates = new byte[] {-1, 3, -1, //1
- short []textures = new short[44];
- int offset = 255/10;
- int x = 0, y=0;
- for(int i=0;i<44; i+=2){
- x = x==0?255:0;
- if(i>0 && x==255)
- y+=offset;
- textures[i] = (short)x;
- textures[i+1] = (short)y;
- }
- byte []normals = new byte[] {-32, 96, -32,
- int []stripLengths = new int[] {22};
- int []strip = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21};
- VertexArray va = new VertexArray(coordinates.length/3, 3, 1);
- va.set(0, coordinates.length/3, coordinates);
- VertexArray no = new VertexArray(normals.length/3, 3, 1);
- no.set(0, normals.length/3, normals);
- VertexArray tx = new VertexArray(textures.length/2, 2, 2);
- tx.set(0, textures.length/2, textures);
- VertexBuffer vb = new VertexBuffer();
- vb.setPositions(va, 1.0f, null);
- vb.setNormals(no);
- vb.setTexCoords(0, tx, (1.0f/255.0f), null);
- TriangleStripArray tsa = new TriangleStripArray(strip, stripLengths);
- PolygonMode pm = new PolygonMode();
- pm.setShading(PolygonMode.SHADE_SMOOTH);
- pm.setCulling(PolygonMode.CULL_NONE);
- Material material = new Material();
- material.setColor(Material.AMBIENT, 0xFFFF0000);
- Appearance app = new Appearance();
- app.setPolygonMode(pm);
- app.setMaterial(material);
- try{
- Image texImg = Image.createImage("/texture.png"); // load the image
- Texture2D texture = new Texture2D(new Image2D(Image2D.RGB, texImg)); // create texture from loaded image.
- texture.setWrapping(Texture2D.WRAP_REPEAT, Texture2D.WRAP_REPEAT); // repeat texture on surface
- texture.setBlending(Texture2D.FUNC_DECAL); // Blend mode to use.
- texture.setFiltering(Texture2D.FILTER_NEAREST, Texture2D.FILTER_NEAREST); // Use nearest for performance, linear for quality
- app.setTexture(0, texture);
- }catch(Exception e){
- System.out.println("Failed to create texture");
- }
- Mesh m;
- m = new Mesh(vb, tsa, app);
- m.setAppearance(0, app);
- return m;
- }
- }
- class FPS{
- public static int fps = 10;
- private int count_fps;
- public String fps_string;
- private long last;
- public FPS(){
- fps = 10;
- count_fps = 0;
- }
- public void calculateFps(){
- count_fps++;
- long n = System.currentTimeMillis() / 1000;
- if (n != last) {
- fps = count_fps;
- count_fps = 0;
- fps_string = "Fps:" + fps;
- last = n;
- }
- }
- }