Форум программистов, компьютерный форум, киберфорум
Наши страницы

ActionScript

Войти
Регистрация
Восстановить пароль
 
Ivan76russ
0 / 0 / 1
Регистрация: 30.09.2015
Сообщений: 20
#1

При движении заносит объект - ActionScript/AS 3.0

09.01.2018, 17:56. Просмотров 186. Ответов 5
Метки нет (Все метки)

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
var Y = mouseY-object.y;
var X = mouseX-object.x;
var rot = Math.atan2(Y, X);
var grad = rot*180/Math.PI;
object.rotation = grad;
var radians:Number = object.rotation*Math.PI/180;
var vectorX:Number = Math.cos(radians);
var vectorY:Number = Math.sin(radians);
var speed:Number = 0.09;
this.addEventListener(Event.ENTER_FRAME, frameHandler);
function frameHandler(event:Event):void {
object.x += speed*vectorX;
object.y += speed*vectorY; } }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2018, 17:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос AS 3.0 При движении заносит объект (ActionScript):

Тормозит при движении мышки - Flash
Уважаемые люди, прошу помочь. Решил сделать сайт на основе некого шаблона, начал с редактирования ссылок и изображений, но ...

Менять координату при движении мыши - ActionScript
Я до этого работал только в AS2 и там при движении мыши по оси Х координата менялась таким образом: var mouseL: Object = new Object();...

Как устранить подёргивание при движении. - Flash
В чём может быть причина этого недоразумения?

Как избежать смены 3d вида при движении объектов? - ActionScript
если применить к объекту rotationX,Y,Z - и потом изменять его координаты - то и этот вид меняется из за его движения относительно центра. ...

AS 3.0 Drag and drop при движении мышкой за пределами сцены - ActionScript
Подскажите как достичь такого же эффекта перетаскивания как на данном примере пример необходимо чтобы перетаскивание продолжалось и...

AS 2.0 Зафиксировать объект при создании баннера-растяжки - ActionScript
Уважаемые друзья, пожалуйста, помогите решить проблему. Создан резиновый баннер на основе action script 2.0 (100%x90px), на один из слоев...

5
TanaTiX
Модератор
2763 / 1611 / 157
Регистрация: 19.02.2011
Сообщений: 5,862
09.01.2018, 18:00 #2
А в чем вопрос?
0
Ivan76russ
0 / 0 / 1
Регистрация: 30.09.2015
Сообщений: 20
09.01.2018, 18:07  [ТС] #3
Как сделать что бы не заносило? И все было круто) Управляемо так сказать
0
TanaTiX
Модератор
2763 / 1611 / 157
Регистрация: 19.02.2011
Сообщений: 5,862
09.01.2018, 20:58 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Думаю, примерно так. Код не причесывал.
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import flash.events.Event;
 
 
var speed: Number = 1.0;
this.addEventListener(Event.ENTER_FRAME, frameHandler);
function frameHandler(event: Event): void {
    var Y = mouseY - object.y;
    var X = mouseX - object.x;
    var rot = Math.atan2(Y, X);
    var grad = rot * 180 / Math.PI;
    object.rotation = grad;
    var radians: Number = object.rotation * Math.PI / 180;
    var vectorX: Number = Math.cos(radians);
    var vectorY: Number = Math.sin(radians);
    object.x += speed * vectorX;
    object.y += speed * vectorY;
}
1
Ivan76russ
0 / 0 / 1
Регистрация: 30.09.2015
Сообщений: 20
10.01.2018, 01:23  [ТС] #5
Спасибо =),но с врагами такое не работает,вот сейчас это:
ActionScript 3
1
2
3
4
5
6
7
8
9
stage.addEventListener(Event.ENTER_FRAME, moveEnemy);
function moveEnemy(e:Event){
var xmov = (object.x-enemy.x)/100;
var ymov = (object.y-enemy.y)/100;
var angle = Math.atan2(ymov,xmov)*180/Math.PI;
enemy.x += xmov + 3;
enemy.y += ymov + 3;
enemy.rotation = angle; 
}
0
TanaTiX
Модератор
2763 / 1611 / 157
Регистрация: 19.02.2011
Сообщений: 5,862
12.01.2018, 01:53 #6
Цитата Сообщение от Ivan76russ Посмотреть сообщение
с врагами такое не работает
все работает
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import flash.events.Event;
 
 
var speed: Number = 1.0;
this.addEventListener(Event.ENTER_FRAME, frameHandler);
function frameHandler(event: Event): void {
    var Y = object.y - enemy.y;
    var X = object.x - enemy.x;
    var rot = Math.atan2(Y, X);
    var grad = rot * 180 / Math.PI;
    object.rotation = grad;
    var radians: Number = object.rotation * Math.PI / 180;
    var vectorX: Number = Math.cos(radians);
    var vectorY: Number = Math.sin(radians);
    enemy.x += speed * vectorX;
    enemy.y += speed * vectorY;
}
0
12.01.2018, 01:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2018, 01:53
Привет! Вот еще темы с ответами:

При передвижении мыши объект перестает двигаться - ActionScript
Здравствуйте, ситуация такая: у меня лента, выходящая за пределы экрана справа и слева, условно её можно разделить на 3 части, каждая часть...

Alternativa3d не отображается объект при добавлении через обработчик - ActionScript
В конструкторе Main() последняя строка (закоментрована) добавляет на сцену видимый объект - работает корректно, обект появляется над морем....

AS 3.0 Изменение цвета объекта при нажатии на другой объект - ActionScript
Как можно вызвать функцию изменения цвета объекта при нажатие на другой обект?

AS 3.0 Dispatch событий при конвертировании MovieClip в объект, состоящий из набора Bitmap - ActionScript
Делаю программно кешировку векторного мувика (допустим длинна 15 кадров). И вот проблема стала. На выходе с исходного мувика получаю свой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru