在這里我們將向你介紹如何使用SPRite3D類,并向你講述基于索尼愛立信移動手機JP3(java Platform 3)或JP4中使用該類非凡效果的優勢。
索尼愛立信采用的JAVA平臺能滿足開發者開發手機上的各種應用程序。目前,索尼愛立信上使用的JAVA平臺有5個版本,這些版本都是和開發者共同完成的,并將協助開發者在游戲可玩性上不斷提高,新的JAVA平臺將引入這一特點,并公之于眾。
在索尼愛立信的JAVA平臺上,開發者可以修改結構,例如:CLDC1.0或CLDC1.1,并可以按不同的需求增加可選包,例如:JSR-82等。
下面是在市面上支持JAVA平臺的索尼愛立信主要特點和機型。
JP = Java Platform
Sprite3D實際上就是把一張2D的圖片放在3D的空間里。sprite總是正對著Camera的,而不考慮Camera的角度和World的旋轉。
Sprite3D有兩種類型:
1:固定模式(unscaled)
sprite的大小是由剪裁矩形的寬和高的象素值決定的。
2:縮放模式(scaled)
sprite著色的大小取決于該對象與active camera的距離。
在基于JP3或JP4的真實目標設備上實現sprite的非凡效果時。sprite不會在同一位置繪畫,下面讓我們看一個例子:
這是一張100*10象素的圖片,我們用它來生成一個sprite,每一幀為10象素。

這是在基于JP3或JP4手機上的特效,例如:索尼愛立信K700

這是在模擬器或基于JP5手機上的特效,例如:索尼愛立信K750和K600
通過以上了解,在使用Sprite3D時,開發者需要為不同的目標設備改寫應用程序。
需要注重的是,在使用精靈的縮放模式時,sprite必須按比例增加,增加的比例該sprite幀的個數相等的(你應該查看你的目標設備是如何實現的,在模擬器上卻不需要)。
我們再看一個例子:
CompositingMode cm = new CompositingMode();
cm.setBlending(CompositingMode.ALPHA);
Appearance appearance = new Appearance();
appearance.setCompositingMode(cm);
sprite3D = new Sprite3D(false, new Image2D(Image2D.RGBA, texImg), appearance);
sprite3D.scale(10.0f, 1.0f, 1.0f);//假設該精靈由10幀組成
sprite3D.setCrop(0, 0, 10, 10);
要做成這種非凡顏色效果,首先要創建一張由這些顏色組成的png圖片,并創建一個格式為RGBA的Image2D的對象,然后添加CompositingMode到Appearance中。
假如你要使用縮放模式的精靈,你必須通知并使用Transform類去移動精靈,精靈將會按一定縮放比例變換。
sprite3D.scale(6.0f, 1.0f, 1.0f);
sprite3D.translate(6.0f, 0.0f, 0.0f);//與postTranslate(1.0f, 0.0f, 0.0f)方法同樣的結果
transform.postTranslate(1.0f, 0.0f, 0.0f);
sprite3D.setTransform(transform);
新聞熱點
疑難解答