2013-08-22 11 views
0

我是遊戲開發的新手,目前使用AndEngine進行Android遊戲。這是一個正確的滾動遊戲,玩家可以像馬里奧一樣不斷移動到屏幕的右側。如何擁有無限寬度的右滾動遊戲

我們如何擁有無限的右滾動?

目前,我設置我的boundCamera限制這樣的:

camera.setBounds(0, 0, CAMERA_WIDTH*100, CAMERA_HEIGHT); 

,我創建這樣一個框架:

公共無效createFrame(){

// 205-175-149  cdaf95 
final IAreaShape/*Shape*/ ground = new Rectangle(0, mCameraHeight - 2, mCameraWidth*100, 2, gameLogicController.getVertexBufferObjectManager()); 
ground.setColor(0.7f, 0.5f, 0.3f); 
final IAreaShape/*Shape*/ roof = new Rectangle(0, 0, mCameraWidth*100, 2, gameLogicController.getVertexBufferObjectManager()); 
roof.setColor(0.7f, 0.5f, 0.3f); 
final IAreaShape/*Shape*/ left = new Rectangle(0, 0, 2, mCameraHeight, gameLogicController.getVertexBufferObjectManager()); 
left.setColor(0.7f, 0.5f, 0.3f); 
final IAreaShape/*Shape*/ right = new Rectangle(mCameraWidth*100 - 2, 0, 2, mCameraHeight, gameLogicController.getVertexBufferObjectManager()); 
right.setColor(0.7f, 0.5f, 0.3f); 

final FixtureDef wallFixtureDef = PhysicsFactory.createFixtureDef(0, 0.5f, 0.5f); 
PhysicsFactory.createBoxBody(this.mPhysicsWorld, ground, BodyType.StaticBody, wallFixtureDef); 
PhysicsFactory.createBoxBody(this.mPhysicsWorld, roof, BodyType.StaticBody, wallFixtureDef); 
PhysicsFactory.createBoxBody(this.mPhysicsWorld, left, BodyType.StaticBody, wallFixtureDef); 
PhysicsFactory.createBoxBody(this.mPhysicsWorld, right, BodyType.StaticBody, wallFixtureDef); 


scene.attachChild(ground); 
scene.attachChild(roof); 
scene.attachChild(left); 
scene.attachChild(right); 

}

但它最終只是固定寬度(100倍相機寬度)。我怎樣才能擁有無限的寬度?如果我給予非常大的價值,應用程序崩潰。

謝謝你的任何幫助..

回答

3

你不想要的寬度是無限的,因爲這樣的比賽永遠不會完成加載。而不是有一個固定的背景操縱它看起來好像背景移動。

+0

我使用視差背景。所以,我的背景正在移動。我想明白,像馬里奧這樣的遊戲是如何設計的。他們有固定寬度嗎? – Sushil

+0

@Sushil馬里奧遊戲中的關卡肯定具有固定的寬度。 – kabuko

+0

@Kabuko ..所以這意味着他們有視差背景,並在運行時添加好吃的東西和障礙物以產生移動效果? – Sushil