2013-10-24 2 views
0

Я разрабатываю игру в andengine, и я хочу применить силу к моему спрайту. Дело в том, что я вращаю спрайт с помощью контроллера, и я хочу, чтобы сила была применена в направлении, с которым справляется спрайт (Sprite - это ракета).Я хочу применить силу в обратном направлении спрайта

Спасибо заранее, я объяснил это хорошо.

+0

Создайте объект PhysicsHandler, а затем примените скорость, а затем соедините спрайт с этим обработчиком. Он будет работать. – Rama

+0

Можете ли вы предоставить мне какой-то код или что-то, что я не совсем понимаю, вы что-то пробовали, но он не работает – Kanga

+0

Аналогичный вопрос: http://stackoverflow.com/questions/9164146/simple-gun-in-cocos2dbox2d- игра – iforce2d

ответ

0

Я нашел направление, обращенное с помощью этого

currentVelocity = new Vector2((float)Math.cos(body.getAngle()) * magnitude, (float) Math.sin(body.getAngle()) * magnitude); 
    body.applyForce(currentVelocity, body.getPosition()); 

величины является переменной с плавающей точкой.

+0

в зависимости от внешнего вида спрайта, который вам, возможно, понадобится сыграть с грехом, и, может быть, измените их (потому что грех и грех) и, возможно, добавить отрицательные значения в x или y из вектора2. Это просто совет для зрителей на этом посту, у меня были проблемы, и я решил это так :) – Kanga

0
Sprite pSprite = new Sprite(23, 43, pTextureRegion, pVertexBufferObject); 
    PhysicsHandler handler = new PhysicsHandler(pSprite); 
    handler.setVelocityX(pVelocityX); 
    handler.setVelocityY(pVelocityY); 

Таким образом, вы можете реализовать. Если не регулировать, то вы можете создать тело для этого конкретного спрайта и применить силу к этому телу

+0

Спасибо, я нашел другой способ справиться с этим, но я, может быть, попробую это тоже:] – Kanga