我會解釋情況。我正試圖解決在出現標記時如何暫停相機。這個鏈接顯示我的意思是一個標記。使用andar進行android方法來凍結相機
http://code.google.com/p/andar/
當標誌已經出現我想要的方式來暫停相機時,使標記不會消失,即使相機而動。我需要這個,所以在玩遊戲時可以慢跑,但標記仍然會保留在正確的位置。下面是代碼形式的標記物活性
公共類CustomActivity延伸AndARActivity {
CustomObject2 someObject;
ARToolkit artoolkit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CustomRenderer renderer = new CustomRenderer();//optional, may be set to null
super.setNonARRenderer(renderer);//or might be omited
try {
//register a object for each marker type
artoolkit = super.getArtoolkit();
someObject = new CustomObject2
("test", "patt.hiro", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject2
("test", "android.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject2
("test", "barcode.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
} catch (AndARException ex){
//handle the exception, that means: show the user what happened
System.out.println("");
}
startPreview();
}
/**
* Inform the user about exceptions that occurred in background threads.
* This exception is rather severe and can not be recovered from.
* TODO Inform the user and shut down the application.
*/
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("AndAR EXCEPTION", ex.getMessage());
finish();
}
}
@Override
繪製函數用於繪製立方體
public final void draw(GL10 gl) {
super.draw(gl);
gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_SPECULAR,mat_flash);
gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_SHININESS, mat_flash_shiny);
gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_DIFFUSE, mat_diffuse);
gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_AMBIENT, mat_ambient);
//this code draws the cube.
gl.glColor4f(0, 1.0f, 0, 1.0f);
gl.glTranslatef(0.0f, 0.0f, 12.5f);
// experement with the api
//draw the box
box.draw(gl);
}
我會圍繞startPreview函數包裝代碼嗎?或者我需要檢查是否繪製了該對象,然後以此方式停止預覽。
我發現這個命令,但我不知道如何實現它當標記正在顯示。我知道我需要一些條件,但不知道它是什麼。 camera.stopPreview();
添加了安達爾標籤 – 2012-08-01 19:36:38
您嘗試了什麼?您發佈的代碼是我們在項目頁面上給出的默認值。 – 2012-08-01 19:38:04
我試圖添加暫停功能,但它不斷崩潰。這是正確的方法嗎?我會更新我的代碼 – alex 2012-08-01 20:00:38