科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道给你的2D游戏添加3D效果

给你的2D游戏添加3D效果

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

两种方法给你的2D游戏添加3D效果。你可以使用内置的3D功能(例如:K700)或者你可以使用标准的2D API来模拟实现3D效果。 此外,使用手机内置3D功能并不需要把程序里的所有图形都实现3D效果。通常它是创建更多的场景。

作者:中国IT实验室 来源:中国IT实验室 2007年9月24日

关键字: 编程 java

  • 评论
  • 分享微博
  • 分享邮件
       两种方法给你的2D游戏添加3D效果。你可以使用内置的3D功能(例如:K700)或者你可以使用标准的2D API来模拟实现3D效果。

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

3D跳转页面

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

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

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效果时,不依赖于用户的交互信息。

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章