Я пытаюсь запрограммировать стрелу, летящую в воздухе, но скорость не выглядит хорошо.
Но теперь стрелка движется очень медленно, вот образец .
(Я знаю, что стрелка и траектория не соответствуют 100%, это всего лишь образец.)
//...
var inity0:Number = 50;
var initangle:Number = - Math.PI / 4;
var initvelocity:Number = 100;
var initvx:Number = initvelocity * Math.cos(initangle);
var initvy:Number = initvelocity * Math.sin(initangle);
var currentvx:Number = new Number(initvx);
var currentvy:Number = new Number(initvy);
var initdistance:Number = math.calcDistance(inity0,initvelocity,initangle);
currentvy -= 9.81 / stage.frameRate;
activearrow.x += currentvx / stage.frameRate;
activearrow.y -= currentvy / stage.frameRate;
//...
Есть идеи?
РЕДАКТИРОВАТЬ: я изменилсяследующий код:
currentvy -= 9.81 / stage.frameRate * 15;
activearrow.x += currentvx / stage.frameRate * 15;
activearrow.y -= currentvy / stage.frameRate * 15;
И теперь это выглядит хорошо, но может кто-нибудь сказать мне, почему я должен делать это, в то время как в физике он обычно летал бы в 15 раз быстрее?