AndEngine加載圖片資源(五)

當我們繼承AndEnginede的BaseGameActivity這個類時,會重寫其對應的四個方法:onLoadEngine,onLoadResource,onLoadScene,onLoadComplete,其中onLoadResource這個

方法就是爲了讓我們加載一個資源的,例如圖片資源,字體等。

 

且看下面的例子:

@Override
public void onLoadResources(){
	//創建一個Texture對象,這個對象的大小是64*32個像素,用來
	//存儲將要加載的face_box.png和box.png圖片
	mTexture = new Texture(64,32,TextureOptions.BILINEAR_PREMULTIPLYALPHA);
	//加載圖片資源face_box.png
	AssetTextureSource faceboxTextSource = new AssetTextureSource(this,
		"gfx/face_box.png");
	
	//加載圖片資源box.png
	AssetTextureSource faceboxTextSource = new AssetTextureSource(this,
		"gfx/box.png");
	
	//把兩個圖像資源對象拼接在這個Textrue中,此Texture由左右兩個矩形組成,
	//其中左邊矩形爲face_box.png放入texture中的起點座標是(0,0)
	//右邊矩形是box.png圖像,放入texture中的座標是(32,0)
	mFaceboxTextureRegion = TextrueRegionFactory.createFromSrouce(mTexture,
		faceboxTextSource,0,0);
	mBoxTextureRegion = TextrueRegionFactory.createFromSrouce(mTexture,
		faceboxTextSource,32,0);
		
	//加載texture資源到遊戲引擎中去
	mEngine.getTextureManager().loadTexture(mTexture);
}

 

到此爲止,圖片資源已經加載到內存了,那麼我們將其放入到場景中去,於是開始重寫onLoadScene

方法,具體實現如下:

@Override
public Scene onLoadScene(){
	//常規的創建遊戲場景和遊戲場景的背景
	Scene scene = new Scene();
	scene.setBackground(new ColorBackground(0.3f,0.3f,0.3f));
	
	//創建 一個Sprite對象,同時制定精靈對象的圖片資源
	Sprite faceSprite = new Sprite(CAMERA_WIDTH/2 - 50,
		CAMERA_HEIGHT / 2,mBoxTextureRegion);
	Sprite boxSprite = new Sprite(CAMERA_WIDTH/2 + 50,
		CAMERA_HEIGHT / 2,mFaceboxTextrueRegion);
		
	//把兩個精靈Sprite添加到遊戲場景中
	scene.attachChild(faceSprite);
	scene.attachChild(boxSprite);
	return scene;
}

 

如此,圖片資源已經加載完畢,並能正常在場景中顯示了。


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