Java 3D 骰子动画代码范例

作者:imtrash  文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=765

创建3D效果非常简单,如果你有正确的工具,创建复杂的3D动画效果并不困难。在这个例子中,骰子和动画是用3DMAX来创建的。

为了取代计算一个mesh的运动,运动可以被预先创建并保存在Mascot Capsule V3mtra文件里或JSR 184M3G文件里。

在下面的例子中,创建了6个动画,每个动画都针对一个骰子面。

      

为确保每个抛出的骰子是不同的,Z轴旋转是随机的

下面是动画的代码示例:

 

建立每个动作并存储帧的数量。

private final int []frameLength = new int[] {80,65,70,80,55,75};

 

载入骰子模型。

diceFigure = new Figure("/res/dice.mbac");

 

六个不同动画可以全被合并到一个文件而不必使用六个不同的动画文件

action[0] = new ActionTable("/res/one.mtra");

action[1] = new ActionTable("/res/two.mtra");

action[2] = new ActionTable("/res/three.mtra");

action[3] = new ActionTable("/res/four.mtra");

action[4] = new ActionTable("/res/five.mtra");

action[5] = new ActionTable("/res/six.mtra");

      

在游戏循环中要保持动画帧的不断更新。

if(diceOneFrame < action[diceOneIndex].getNumFrames(0)){

diceOneFrame += action[diceOneIndex].getNumFrames(0)/frameLength[diceOneIndex];

}

diceFigure.setPosture(action[diceOneIndex], 0, diceOneFrame);

      

下载范例程序和源代码:

http://developer.sonyericsson.com/getDocument.do?docId=73634

 

原文地址:点击这里

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值