Я работаю над скроллером, а для врага я делаю башню. Я пытаюсь сделать турель целью игрока, но я не могу понять, как правильно. Ниже грубый набросок того, что я хочу добиться:Flash - SideScroller Turret Math
Я хочу, чтобы ствол (темно-синий), чтобы прицелиться/повернуть его, указывая на игрока.
Я загрузил видео на YouTube моей сцены:
http://www.youtube.com/watch?v=eeP47VoX9uA&feature=youtu.be
Это то, что я до сих пор (петля):
function enterFrameHandler(e : Event) : void{
_turretBarrel.rotation = Math.atan2(enTarget.x, enTarget.y) * 180/Math.PI;
}
Что это делает только повернуть ствол когда Я прыгаю, и ствол даже не нацеливается на игрока, также бочка не меняет вращение, когда я иду по другую сторону башни.
My enTarget.x всегда находится в центре сцены, и сцена (включая башню) перемещается по игроку влево и вправо (x) ... Только перемещение enTarget.y (прыжок/высокая платформа).
Я немного новичок в Flash и ActionScript. Если бы кто-нибудь мог помочь мне или указать мне в правильном направлении, тогда это было бы здорово.
Благодаря
Я изо всех сил стараюсь следовать этому. Я действительно новичок в AS3, и его трудно обойти ваши инструкции. –
Не беспокойтесь. Сначала вычислите вектор направления от башни к аватару. НаправлениеVector = PlayerPosition - TurretPosition. Обе позиции должны находиться в одном и том же пространстве (несколько объясняется здесь http://www.actionscriptmoron.com/?p=1062). Я предполагаю, что одним из источников проблемы может быть то, что один (или оба) клипа являются дочерними клипами других клипов. Это не означает, что файл аватара_movieclip.x не является надежным, поскольку он может относиться к родительскому клипу клипа аватара (если он есть). Обязательно используйте абсолютные позиции, если оба клипа не являются прямыми дочерними элементами одного и того же родительского клипа. –