此外,使用手機內置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;
}
}
}
},
新聞熱點
疑難解答