package com.example.tictactoe3d;
import min3d.core.Object3dContainer;
import min3d.core.RendererActivity;
import min3d.parser.IParser;
import min3d.parser.Parser;
import min3d.vos.Light;
public class MainActivity extends RendererActivity {
private Object3dContainer objModel;
@Override
public void initScene() {
scene.lights().add(new Light());
IParser parser = Parser.createParser(Parser.Type.OBJ,getResources(), "res/raw/camaro_obj" , true);
parser.parse();
objModel = parser.getParsedObject();
//objModel.scale().x = objModel.scale().y = objModel.scale().z = .7f;
scene.addChild(objModel);
}
@Override
public void updateScene() {
//objModel.rotation().x++;
//objModel.rotation().z++;
scene.camera().position.setAll(0,0,5);
}
}
リソースが見つからないという例外が Eclipse ADT のログに出力されます。私が使用している min3d ライブラリでは、文字列でリソースにアクセスする必要があります。オートコンプリートで R.raw.camaro_obj を使用してリソースにアクセスできますが、min3d ライブラリは文字列で同じリソースにアクセスしたいと考えています。私が試してみました:
"com.example.tictactoe3d:raw/camaro_obj"
"res/raw/camaro_obj"
"raw/camaro_obj"
リソース「res/raw/camaro_obj」に文字列でアクセスする方法はありますか?
ありがとう...
min3d サンプル プロジェクトでの呼び出しは次のようになります。
IParser parser = Parser.createParser(Parser.Type.OBJ,getResources(), "min3d.sampleProject1:raw/test2_obj" , true);
その行によって実際に呼び出されるコードは、これを行っています。
public AParser(Resources resources, String resourceID, Boolean generateMipMap)
{
this();
this.resources = resources;
this.resourceID = resourceID;
if (resourceID.indexOf(":") > -1)
this.packageID = resourceID.split(":")[0];
this.generateMipMap = generateMipMap;
}