JAVA 3D 碰撞检测Demo

该博客探讨了一个JAVA 3D 碰撞检测Demo在桌面环境下能达到40-60 FPS,但在手机上表现不佳的问题。作者怀疑可能是手机设备(G1)性能限制导致。博客内容包括导入相关库、关键类的定义和初始化、对象创建、碰撞检测方法及键盘控制。
摘要由CSDN通过智能技术生成

桌面版碰撞检测,工作的很好,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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值