0
我在andegine中開發遊戲,我想創建一個視差背景,在縱向模式下從上到下移動,但是我的視差從右向左移動或從左向右移動。我已經將我的引擎選項設置爲PORTRAIT_FIXED或PORTRAIT_SENSOR。我如何實現這個任務我已經尋找AutoParallax和ParallaxEntity的選項,但沒有選項來設置肖像和視差如何在android中創建垂直視差背景andengine
我在andegine中開發遊戲,我想創建一個視差背景,在縱向模式下從上到下移動,但是我的視差從右向左移動或從左向右移動。我已經將我的引擎選項設置爲PORTRAIT_FIXED或PORTRAIT_SENSOR。我如何實現這個任務我已經尋找AutoParallax和ParallaxEntity的選項,但沒有選項來設置肖像和視差如何在android中創建垂直視差背景andengine
風景模式剛剛發現這一點 - http://www.andengine.org/forums/post306324.html#p31347
的傢伙創造了2個新的類別AutoVerticalParallaxBackground和VerticalParallaxBackground,它正是你想要的! (我正在使用它)。所以你可以使用VerticalParallaxBackground或者兩者都取決於你喜歡的結果:)。
垂直視差的背景可以實現爲:
mVerticalParallaxBackground = new VerticalParallaxBackground(0, 0, 0);
mVerticalParallaxBackground.attachVerticalParallaxEntity(new VerticalParallaxEntity(-5.0f,
new Sprite(0, SCREEN_HEIGHT
- mResourceManager.mParallaxLayerRoad.getHeight(),
mResourceManager.mParallaxLayerRoad,
mVertexBufferObjectManager)));
setBackground(mVerticalParallaxBackground);
我用這個舉例(一AutoVerticalParallaxBackground):
mAutoVerticalParallaxBackground
.attachVerticalParallaxEntity(new VerticalParallaxEntity(-5.0f,
new Sprite(0, SCREEN_HEIGHT
- mResourceManager.mParallaxLayerRoad
.getHeight(),
mResourceManager.mParallaxLayerRoad,
mVertexBufferObjectManager)));
setBackground(mAutoVerticalParallaxBackground);
我不值得任何信貸這個答案。我把它放在這裏,讓其他人可以輕鬆找到它!
你可以水平的:ParallaxBackground類。將其複製到不同的類並更改以下代碼:ParallaxBackground.ParallaxEntity.onDraw()function: final float cameraHeight = pCamera.getHeight(); final float shapeHeightScaled = this.mAreaShape.getHeightScaled(); float baseOffset =(pParallaxValue * this.mParallaxFactor)%shapeHeightScaled; \t \t while(baseOffset> 0){ \t \t \t baseOffset - = shapeHeightScaled; \t \t} \t \t pGLState.translateModelViewGLMatrixf(0,baseOffset,0); \t \t float currentMaxY = baseOffset; ... (沒有更多空間,無法格式化代碼,很抱歉!) – voodoo98 2014-11-10 10:05:36