0
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庫想要使用字符串訪問同一資源。我曾嘗試過:未找到Android資源異常。按字符串指定資源
"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;
}
我理解,但如果你看看min3d你會發現這個調用是「」min3d.sampleProject1:raw/test2_obj「,它可以在示例項目中正常工作,在這種情況下,我必須提供一個類似於示例項目中的字符串的字符串 – Giuseppe
我想知道如果我應該只需重命名並移動正在工作的示例項目...出於某種原因,當我移動到一個新項目時,我很難重複資源的訪問方式。 – Giuseppe
我不確定如果它很重要,但示例項目需要android-4,我創建的新項目是android-17。傳統中可能會有一些變化嗎? – Giuseppe