网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  给你的2d游戏添加3d效果     
  文章作者:未知  文章来源:水木森林  
  查看:96次  录入:管理员--2007-11-17  
 
       两种方法给你的2d游戏添加3d效果。你可以使用内置的3d功能(例如:k700)或者你可以使用标准的2d api来模拟实现3d效果。

此外,使用手机内置3d功能并不需要把程序里的所有图形都实现3d效果。通常它是创建更多的场景,在普通的2d游戏中加入简单的3d效果。这样你可以不改变程序的核心代码就能在程序中实现简单的3d效果。

3d跳转页面

       首先,或许很简单,这个效果是用3d动画取代一个存在的2d跳转页面。随着程序的增大,更多的数据需要花时间去装载,一个漂亮的跳转页面变得越来越重要。例子程序是一个3d跳转页面并提供代码下载。这个程序的主结构与”显示一个java跳转页面”是相同的,不过这个例子是使用的mascot capsule v3 api在k700上显示一个简单的3d动画。你也可以使用jsr-184 api代替mascot capsule v3 api,在k700上仍然支持(索尼爱立信sdk对jsr-184支持并不完全,不过你可以在sun网站上下载最新的jsr-184 api)。当静态的图片改为动态的动画时,它必须保证动画线程能获得cpu时间在初始化期间。所以我们定期的调用初始化线程的thread.speel(20)方法。

       在动画线程,动画是一帧一帧的向前变化,使用timer的timertask来控制按照固定率重复执行。

mytimer.scheduleatfixedrate(new timertask(){ 

public void run() {
                          // stop the splash when
             // initialization has finished    
             if(isinitialized){
                 mytimer.cancel();
              }
                            
              splashcanvas.repaint();

              nowframe += 65536*3;
              if (nowframe>=maxframe) {
                 if (maxframe==0){
                            nowframe = 0;
                   }else{
                            nowframe %= maxframe;
                   }
                 }
       }
   }, 0l, 100l);

3d菜单

       这里仍然有许多我们能做的而不涉及实际游戏本身。游戏的菜单可以增加3d效果。按钮、选择框和其他标准的2d ui都能很容易的替换为3d等价物,你也可以创建完整的3d界面,配合不使用2d效果的情形。

       这些要看你目前是什么水平,这些效果可能不需要调用3d引擎来创建。作为简单的效果,你可以创建2d图画来模拟简单的3d效果

游戏里的3d效果

       当游戏是移动的,我们就有机会增强这些图形,使用2d技术来模拟3d效果。

       我们可以以2d效果开始,例如,使用layermanager实现云或烟雾在其他层前面漂移效果,从而模拟不同的远景并造成感官深度。同样的技术适用于背景是标准的水平卷轴游戏,通过把背景创建为两层,并使前面一层的移动快于后面一层的移动。你可以下载这个程序的代码。

       由于真正的3d的支持,在游戏中,你可让3d成为主动的部分或仅仅使用它在一些被动的方式。主动使用的意思是这样的,例如:一个太空飞船或汽车是受用户约束的,它们的显示受到用户的输入和移动所影响。而被动使用是指当你使用一个3d效果时,不依赖于用户的交互信息。

 

 
 
上一篇: java 5 特性 instrumentation 实践    下一篇: 深入spring mvc framework之总体分析
  相关文档
java初学者实践教程27-applet 11-17
scjd相关链接 11-17
进阶--对java/jsp中文乱码问题解决心得 03-04
Java游戏编程读书笔记 03-25
osworkflow 小培训(1) 11-17
浅谈 java 中 this 的使用 11-17
将注释转为代码 03-25
用solsticeenterprisemanager建立java网络管理应用程序 11-17
java的中文编程与配置心得 11-16
zeus实现xml-java的数据绑定 11-17
程序人生:程序员不是神 心态决定一切 01-25
java中文问题详解(转) 11-17
java小技巧 11-17
深入研究servlet线程安全性问题 11-16
eclipse中插件开发之sqlexplorer 11-16
搜索引擎之中文分词实现(java版) 11-17
jsp学习系列之tomcat安装 11-20
用java实现音频播放 11-16
安?bamfphp 11-17
用javabean数据组件集成jsf应用程序与ejb(6) 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息