资源简介
一个java3d网球游戏的源代码
一个java3d网球游戏的源代码
代码片段和文件信息
package Tennis;
import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.image.*;
import javax.media.j3d.*;
import javax.vecmath.*;
class Ball extends VirtualEntity
{
public double elapsed = 0;
public long lastCollisionTime = 0;
public Vector3d lastCollision = new Vector3d(0 0 0);
public Vector3d pos = new Vector3d(0 TennisGame.BALL_RADIUS 0);
public Vector3d dir = new Vector3d(0 0 0);
private Shadow bShadow;
public double speed = 0.0;
public boolean stopped = true;
Ball()
{ models = new Shape3D[1];
mtrans = new Transform3D[]{ new Transform3D() };
Appearance a = getStdAppearance(“textures/tball.gif“ Material.DIFFUSE false);
Material m = a.getMaterial();
m.setSpecularColor(0f 0f 0f);
a.setMaterial(m);
Sphere s = new Sphere(TennisGame.BALL_RADIUS PRIMFLAGS 10 a);
models[0] = s.getShape(Sphere.BODY);
bShadow = new Shadow(0.5f true);
}
public synchronized void changeDir(double x double y double z double s)
{ speed = s;
stopped = (speed == 0);
dir.set(x y z);
setLastCollision();
}
public synchronized void setForService()
{
// TennisGame.court.lastZ = 0;
changeDir(0 0 0 0);
pos.x = TennisGame.players[TennisGame.curServer].pModel.worldX + (0.25 * TennisGame.serveSide);
pos.z = TennisGame.players[TennisGame.curServer].pModel.worldZ;
pos.y = 1.5;
bShadow.update(pos);
}
private double tempRads = 0.0;
public synchronized void setShot(double x double z int sType double s)
{ dir.set(x - pos.x 0 z - pos.z);
if(sType == 0) // normal shot - set dir.y to + 1.0 instead of + 0.5 for different results
{ //dir.normalize();
//dir.y = ((TennisGame.NET_HEIGHT * 2 + 1.0) + ((Math.abs(pos.z) / dir.z) * (GAME_SPEED * TennisGame.GRAVITY))) / (TennisGame.COURT_LENGTH / 2.0);
//speed = (TennisGame.MAX_SPEED * 0.5) + Math.max(s * 0.5 1);
// dir.y = (TennisGame.NET_HEIGHT * 2 + 1.5);// / Math.min(Math.max(Math.abs(pos.z / (TennisGame.COURT_LENGTH)) 0.8) 1.0);
tempRads = Math.atan((TennisGame.NET_HEIGHT * 4.0) / Math.min(Math.max(Math.abs(pos.z) TennisGame.COURT_LENGTH * 0.65) TennisGame.COURT_LENGTH * 0.9)); //(TennisGame.COURT_LENGTH * 0.9)); // angle of shot is function of court length and net height
dir.y = (dir.length() / Math.cos(tempRads)) * Math.sin(tempRads); // straight shot = variable degrees
speed = 5.0 + 15.0 * Math.abs(pos.z / TennisGame.COURT_LENGTH) + s * 10.0;
}
else if(sType == 1)
{ dir.y = (dir.length() / Math.cos(Math.PI / 3.25)) * Math.sin(Math.PI / 3.25); // lob = 55 degrees
speed = 8.0 + s * 9.5; // min speed = 8.0 max = 17.5
}
else if (sType == 2)
{ dir.y = (dir.length() / Math.cos(Math.PI / 6.0)) * Math.sin(Math.PI / 6.0); // drop = 30 degrees
speed = 5.0 + s * 4.0; // max = 9.0
}
else if(sType == 3)
{ dir.y = 0;
dir.norma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4533 2004-06-17 04:22 网球大赛\Ball.java
文件 2616 2004-06-17 04:22 网球大赛\Camera.java
文件 7366 2004-06-17 04:22 网球大赛\CommThread.java
文件 50 2004-06-17 04:35 网球大赛\compile.bat
文件 18009 2004-04-11 20:02 网球大赛\COPYING.txt
文件 18075 2004-06-17 04:22 网球大赛\Court.java
文件 4519 2004-06-08 04:01 网球大赛\hs_err_pid3960.log
文件 380761 2003-05-26 18:19 网球大赛\max.ms3d
文件 198 2004-06-17 04:22 网球大赛\Message.java
文件 9038 2004-06-17 04:22 网球大赛\Pla
文件 46 2004-06-17 04:36 网球大赛\run.bat
文件 5868 2004-06-17 04:22 网球大赛\ScoreBoard.java
文件 1144 2004-06-17 04:22 网球大赛\Shadow.java
文件 1622 2004-06-17 04:22 网球大赛\SplashScreen.java
文件 1464 2004-06-17 04:38 网球大赛\src_tennisgame.txt
文件 8697 2004-06-17 04:22 网球大赛\Tennisfr
文件 13804 2004-06-17 04:22 网球大赛\TennisGame.java
文件 52994 2008-09-24 11:06 网球大赛\TennisGame.jcd
文件 2009 2004-06-17 04:39 网球大赛\TennisGame.jcp
文件 3703 2004-06-17 04:39 网球大赛\TennisGame.jcu
文件 265 2004-06-17 04:39 网球大赛\TennisGame.jcw
文件 10839 2004-06-17 04:22 网球大赛\TennisLaunch.java
文件 2047 2004-06-17 04:22 网球大赛\VirtualEntity.java
文件 146414 2003-05-23 18:27 网球大赛\audio\aaah.wav
文件 467988 2004-06-06 15:13 网球大赛\audio\applause.wav
文件 33934 2003-03-06 18:02 网球大赛\audio\ballhit.wav
文件 5412 2003-04-14 10:26 网球大赛\audio\beep.wav
文件 138354 2002-02-20 00:45 网球大赛\audio\crowdcheer.wav
文件 1470062 2004-06-06 07:17 网球大赛\audio\exhort.wav
文件 59666 2003-05-23 16:51 网球大赛\audio\firstserve.wav
............此处省略143个文件信息
- 上一篇:jsp项目---博客网.rar
- 下一篇:宠物商店 使用JSP 技术web应用
相关资源
- java 缓存 cache lru
- 数据结构java版 刘小晶
- Java 健身房管理系统
- java做的简单的规范的自动售货机
- java利用Aspose.cells.jar将本地excel文档转
- Java开发android
- JavaWeb网上书店
- 蓝宇快递打印系统
- 知识库javaweb版源码
- java超市账单管理系统单元项目
- java课程设计 电话号码查询系统
- 物流管理系统 java + web +数据库
- java3D (32位和64位)
- java在线预览office
- java(swingawt)图形用户界面编程100多
- C++与android通过socket通信
- WEB项目管理系统
- 学生宿舍后台管理系统
- java+sql server2000图书馆管理信息系统
- 会员管理系统
- Thinking in Java 4th edition81512
- java电子商务系统(毕业论文+项目)
- Web Socket聊天.java eclipse
- jsp/java商城系统
- Java开发的OCR程序源码和demo
- java-jsp留言板
- 国家工作人员招考系统门户网站java
- java人脸识别培训视频完整版,用于就
- Java Swing 中文Api
- Guava 19 API ( CHM格式 )
评论
共有 条评论