发布一篇为J2ME开辟挪动3D游戏之保存形式
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net网页编程并驾齐驱的现在,3D图形几近是任何一部游戏的关头部分,乃至一些使用程序也经由过程用3D情势来形貌信息而取得了乐成。如前文中所述,以当即形式和手工编码创建一切的3D对象的体例举行开辟速率很慢且很庞大。使用程序中多边形的一切角点必需在数组中自力编码。在JSR184中,这称为当即形式。
别的一种更初级的形式称为保存形式,它同意计划者利用诸如3DMaxStudio等3D建模软件来计划场景图,然后把它们使用在程序中。
1、3D编纂器
如今,最盛行的贸易动画制造软件应是3DStudioMax,它撑持输入模子或场景图到M3G格局(JSR184中指定的文件格局)。该文件格局是专门制定的,以合用于挪动设备的特有必要。但是,3DStudioMax十分高贵,即便它是一个很好的工具,也大概其实不合适于任何一团体。
Superscape公司有他本人的Swerve产物家属(SwerveStudio,SwerveClient,SwerveContent),以匡助软件开辟者来开辟3DJava和本机使用程序。遗憾的是,SwerveStudio仅适于无限数量的对Superscape十分熟习的开辟者。
另有一个自在工具能够选择利用:Blender。Blender是一个开源的3D外型工具,实在它的功效相称壮大。你能够用Blender来举行任何3D计划-从复杂的外型到完全的动画制造。只管如今还没有输入工具来输入Blender模子到M3G文件中,可是大概很快就呈现一些可用的工具(由于Blender是开源的)。
3、建模
怎样在MIDP使用程序中利用M3G文件呢?起首,你必要一个已有某种3D模子的M3G文件。你能够用Google引擎疾速查找一下,也能够利用和WirelessToolkit2.2(在Demo3D文件夹下)开辟包一同公布的现成文件。在本文中,我们将对Sun的Pogoroo例程作深度修正(简化)。我们不让它动起来大概做任何奇异的事变,而仅仅在屏幕上展现各个对象。
4、加载World(天下)
起首,要从M3D文件中加载World。在pogoroo.m3g文件中,你会看到一只袋鼠在一根弹簧单高跷杆上腾跃,其身旁是一片绿茵。上面的列表1挪用了加载器类的办法load()。
列表1.加载天下
try{
//从M3D文件中加载World
myWorld=(World)Loader.load("/pogoroo.m3g");
getObjects();
setupAspectRatio();
}
catch(Exceptione){
e.printStackTrace();
}
5、从3D天下中获得对象
3D天下已被加载,如今你必需从中获得各个对象(见列表2)。这里,3D天下中有四个对象,个中之一是有关动画(袋鼠在单脚跳)的信息。你可使用World的find()办法来获得这些对象。
列表2.从3DWorld中获得对象
try{
tRoo=(Group)myWorld.find(POGOROO);
tCams=(Group)myWorld.find(CAMERA);
acRoo=(Group)myWorld.find(TRANSFORM);
animRoo=(AnimationController)myWorld.find(ROO);
//获得动画的长度
AnimationTracktrack=acRoo.getAnimationTrack(0);
animLength=1000;//缺省长度为1秒
if(track!=null){
KeyframeSequenceks=track.getKeyframeSequence();
if(ks!=null)animLength=ks.getDuration();
}
}
catch(Exceptione){
e.printStackTrace();
}
<p>
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。 Java是一种计算机编程语言,拥有跨平台、面向对java 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 是一种使用者不需花费很多时间学习的语言 是一种使用者不需花费很多时间学习的语言 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
页:
[1]