桌面版碰撞检测,工作的很好,FPS达到40-60之间,为什么手机上就不能工作的很好呢,难道我的G1真太烂了,哎
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import com.threed.jpct.Camera;
import com.threed.jpct.Config;
import com.threed.jpct.FrameBuffer;
import com.threed.jpct.IRenderer;
import com.threed.jpct.Object3D;
import com.threed.jpct.Primitives;
import com.threed.jpct.SimpleVector;
import com.threed.jpct.World;
import com.threed.jpct.util.KeyMapper;
import com.threed.jpct.util.KeyState;
import com.threed.jpct.util.Light;
/**
* 碰撞检测Demo
*
* @author Simdanfeg
*
*/
public class CollisionDemoSoftware extends JFrame {
// SerialID
private static final long serialVersionUID = 1L;
private static final float DAMPING = 0.1f;
private static final float SPEED = 1f;
private static final float MAXSPEED = 1f;
// Graphics
private Graphics g = null;
// KeyMapper是一个方便的类来简化来处理键盘访问方式(硬件或软件渲染时)。它提供了统一的方式来访问键盘
private KeyMapper keyMapper = null;
// 当JPCT渲染背景时FrameBuffer类提供了一个缓冲,它的结果本质上是一个能显示或者修改甚至能进行更多后处理的图片
private FrameBuffer fb = null;
// World类是JPCT中最重要的类,它像“胶”一样把所有粘在一起,它包含了所有对象和光线且在JPCT中定义场景
private World world = null;
/*
* Object3D类是一个三维对象,千万不要傻呼呼的认为它与java.lang.Object类似。
* 一个Object3D对象作为一个实例被添加到在渲染的World对象中。Object3D在World 中一次添加一个实例
* ,他们可能被联系起作为孩子/父母来在他们中建立一个制度. 人体模型当然也能应用在以上的规则中。他们常常不加到一个World实例中,而是
* 绑定到其它对象中(人体模型或非人体模型)。有些方法 在这个类中需要一个实例
* 添加到一个World实例中(用World.addObject()方法可以实现)。
*/
// 平面
private Object3D plane = null;
// 斜道
private Object3D ramp = null;
// 立方体
private Object3D cube = null;
// 立方体2
private Object3D cube2 = null;
// 球体
private Object3D sphere = null;
// 上
private boolean up = false;
// 下
private boolean