2011-11-21 89 views
3

我想將我的SpriteAndEngine作拋射運動。AndEngine中的投影

任何人都可以用這段代碼幫我解決這個問題嗎?不幸的是我沒有在AndEngine中看到有關投影的例子。

回答

3

你在找什麼是UpdateModifier,我懷疑。

你希望你的雪碧移動到什麼程度?你想讓它找到通往目的地的路徑嗎?或者你只是想在屏幕上保留一些東西?你在用相機嗎?所有這些都將決定你應該如何讓你的雪碧移動。

這是關於UpdateModifiers嘖嘖鏈接:

Update Handlers - Using their Power!

是不是你想要的?

+0

耶我硝酸鉀w關於更新經理...我所需要的是在andEngine中投影的代碼。我正在尋找內置的功能,但我沒有找到任何。所以我建立了一個自定義函數,它可以獲取速度和角度,並以該速度以該角度移動精靈。 –

+0

鏈接已損壞。 – Uday

2

一個彈丸之舉,你可以使用physicshandler,然後你可以操縱的加速度和速度讓它動像炮彈......

projectile=new Sprite(X,Y, ProjectileTextureRegion); 
physprojectile = new PhysicsHandler(projectile); 
projectile.registerUpdateHandler(physprojectile); 
physprojectile.setVelocityX(Xvelocity); 
physprojectile.setVelocityY(Yvelocity); 
pyhsprojectile.setAcceleration(Accelration) //negative acceleration 
0

基本上你可以在精靈使用registerEntityMofidier(或任何實體):Andengine EntityModifierExample

實施例:

sprite.registerEntityModifier(new MoveModifier(TIME_IN_SECOND, fromX, toX, fromY, toY)); 
0
stakesprite.registerEntityModifier(new RotationModifier(0.1f, 0.0f,(float) ((360.0f/Math.PI)*Math.atan(velY/velX)))); 
      stake=PhysicsFactory.createCircleBody(this.mPhysicsWorld, stakesprite, BodyType.DynamicBody, FIXTURE_DEF); 
      //stake = PhysicsFactory.createBoxBody(this.mPhysicsWorld, stakesprite, BodyType.DynamicBody, FIXTURE_DEF); 
      stake.setBullet(true); 
      stake.setLinearVelocity(new Vector2(velX, velY)); 
      stake.setSleepingAllowed(true); 
      mScene.attachChild(stakesprite);