AndEngine_example1.2 畫矩形

同樣的是 3個回調

public EngineOptions onCreateEngineOptions()

protected void onCreateResources()

protected Scene onCreateScene()

 

 

只是對應的Scene有變化, 前面的和1一樣

Entity 作爲一個對象,可以設置attachChild子對象

準備畫2個正方形,開始座標爲(0,0)左上角

一個的左上角是(0,0)邊長爲180,

 一個是 (200,100)邊長爲380

 

寫一個Scene,

private Scene getEntityLeftTop(){
	final Scene scene = new Scene();
	scene.setBackground(new Background(0.09804f, 0.6274f, 0.8784f));
	final VertexBufferObjectManager vertexBufferObjectManager = this.getVertexBufferObjectManager();
	
	//對象的起始點(左上角)
	final Entity rectangleGroup = new Entity(0, 0);
	rectangleGroup.setColor(40,10,10);
	Rectangle  rect1 = new Rectangle(0, 0, 180, 180, vertexBufferObjectManager);
	rect1.setColor(10,10,10);
	
	Rectangle  rect2 = new Rectangle(200, 100, 380, 380, vertexBufferObjectManager);
	rect2.setColor(10,50,10);
	
	rectangleGroup.attachChild(rect2);
	rectangleGroup.attachChild(rect1);
	scene.attachChild(rectangleGroup);

	return scene;
}


在protected Scene onCreateScene()中 return這個Scene,就可以得到2個正方形了

 

 

同理, 如果設置Entity在正中間的話, 就從 中間開始畫了

其中,有一個Rectangle起點是 負值, 可以認爲是負的座標

private Scene getEntityCenter(){
	final Scene scene = new Scene();
	scene.setBackground(new Background(0.09804f, 0.6274f, 0.8784f));
	final VertexBufferObjectManager vertexBufferObjectManager = this.getVertexBufferObjectManager();
	
	//對象的起始點(左上角)
	final Entity rectangleGroup = new Entity(CAMERA_WIDTH / 2, CAMERA_HEIGHT / 2);
	rectangleGroup.setColor(40,10,10);
	Rectangle  rect1 = new Rectangle(0, 0, 180, 180, vertexBufferObjectManager);
	rect1.setColor(10,10,10);
	
	Rectangle  rect2 = new Rectangle(-180, -100, 380, 380, vertexBufferObjectManager);
	rect2.setColor(10,50,10);
	
	rectangleGroup.attachChild(rect2);
	rectangleGroup.attachChild(rect1);
	scene.attachChild(rectangleGroup);

	return scene;
}


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章