initialize3d.java
来自「一款模仿劲舞团的手机游戏」· Java 代码 · 共 125 行
JAVA
125 行
import java.io.IOException;
import javax.microedition.m3g.Light;
import javax.microedition.m3g.Loader;
import javax.microedition.m3g.Object3D;
import javax.microedition.m3g.World;
/**
* @author trojan
*
* �������ڶ�ȡ��Dģ��,�������е���
*/
public class Initialize3D {
// -------------------------------�����----------------------------
private MyMIDLET midlet;
private World[] firstWorld;// ����һģ������
private World[] secondWorld;// ����������
private Object3D[] firstObj;// ����һ��D��������
private Object3D[] secondObj;// �������D��������
private Light firstLight;// ����һ�ƹ�
private Light secondLight;// ������ƹ�
private String[] m3gPathArray = { "act0", "act2", "act5", "act6", "act7",
"act8", "act9", "act12", "act15"};// ������ģ�͵�·��
// --------------------------------����ֽ���------------------------------
//
//
// --------------------------------��������------------------------------
// ���췽��
public Initialize3D(MyMIDLET midlet) {
// TODO �Զ���ɹ��캯����
this.midlet = midlet;
initialize();
}
// ��ʼ������,ѭ����ȡģ��
protected void initialize() {
firstWorld = new World[m3gPathArray.length];
secondWorld = new World[m3gPathArray.length];
for (int i = 0; i < m3gPathArray.length; i++) {
readModel(i);
}
}
// ��ȡģ�ͷ���
public void readModel(int index) {
// ��ȡWorld
midlet.setPercent(index + "1%");
firstObj = load(m3gPathArray[index]);
midlet.setPercent(index + "2%");
secondObj = load(m3gPathArray[index]);
midlet.setPercent(index + "3%");
for (int i = 0; i < firstObj.length; i++) {
if (firstObj[i] instanceof World) {
firstWorld[index] = (World) firstObj[i];
}
}
midlet.setPercent(index + "4%");
for (int i = 0; i < secondObj.length; i++) {
if (secondObj[i] instanceof World) {
secondWorld[index] = (World) secondObj[i];
}
}
midlet.setPercent(index + "5%");
// ���õƹ�
firstLight = new Light();
firstLight.setMode(Light.AMBIENT);
firstLight.setIntensity(3.0f);
secondLight = new Light();
secondLight.setMode(Light.AMBIENT);
secondLight.setIntensity(3.0f);
midlet.setPercent(index + "6%");
firstWorld[index].addChild(firstLight);
secondWorld[index].addChild(secondLight);
midlet.setPercent(index + "7%");
}
// ��M3G�ļ��ж�ȡ��D��������
public Object3D[] load(String m3gPath) {
Object3D[] objs;
try {
objs = Loader.load("/m3g/" + m3gPath + ".m3g");
} catch (IOException e) {
e.printStackTrace();
midlet.setPercent("���ִ�����Ϸ�˳�");
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO �Զ���� catch ��
e1.printStackTrace();
}
midlet.destroyApp(false);
midlet.destroyed();
return null;
}
return objs;
}
// ���������
public World[] getWorld(int index) {
if (index == 0) {
return firstWorld;
} else {
return secondWorld;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?