WEB开发网
开发学院WEB开发Jsp 给你的2D游戏添加3D效果 阅读

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

 2008-01-05 09:41:56 来源:WEB开发网   
核心提示: 两种方法给你的2D游戏添加3D效果,你可以使用内置的3D功能(例如:K700)或者你可以使用标准的2D API来模拟实现3D效果,给你的2D游戏添加3D效果, 此外,使用手机内置3D功能并不需要把程序里的所有图形都实现3D效果, 在动画线程,动画是一帧一帧的向前变化,通常它是创建更

    两种方法给你的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);


Tags:游戏 添加 效果

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接