dendead
27.12.2013, 02:55
Разбираю пример слежения глаз за курсором http://www.youtube.com/watch?v=gBOa06lcRWA. Как и в примере создаю глаза и зрачок:
http://www.picamatic.com/show/2010/02/05/10/13/9968302_506x325.jpg
В первом кадре пишу код:
import flash.events.Event;
const THRESHOLD = 200;
// every frame, make the pupil look at the mouse
addEventListener(Event.ENTER_FRAME, lookAtMouse);
// explain lookAtMouse
function lookAtMouse(e:Event) {
var angle = Math.atan2(mouseY, mouseX);
// ПРОВЕРЯЮ КООРДИНАТЫ
trace(pupil.x);
pupil.x = Math.cos(angle) * 8;
pupil.y = Math.sin(angle) * 8;
}
Всё работает без проблем. Координаты зрачков (pupil) меняются примерно от -3 до 3.
Теперь пытаюсь прописать функцию в классе:
// ОСНОВНОЙ КОД
// ГДЕ-ТО В КОДЕ
addEventListener(Event.ENTER_FRAME, lookAtMouse);
// ЧУТЬ ДАЛЬШЕ В КОДЕ
function lookAtMouse(e:Event) {
var angle = Math.atan2(mouseY, mouseX);
c_embryoEyes.c_embryoEye.pupil.x = Math.cos(angle) * 8;
c_embryoEyes.c_embryoEye.pupil.y = Math.sin(angle) * 8;
}
Глаза добавляются на сцену с помощью addChild.
Меняю pupil на полный путь к мувклипу c_embryoEyes.c_embryoEye.pupil. Перестаёт работать. Координаты зрачков доходят только от 3 до 0. Получается так, что зрачки не делают полный оборот в глазу. В каком направлении можно копать? Запутался.
http://www.picamatic.com/show/2010/02/05/10/13/9968302_506x325.jpg
В первом кадре пишу код:
import flash.events.Event;
const THRESHOLD = 200;
// every frame, make the pupil look at the mouse
addEventListener(Event.ENTER_FRAME, lookAtMouse);
// explain lookAtMouse
function lookAtMouse(e:Event) {
var angle = Math.atan2(mouseY, mouseX);
// ПРОВЕРЯЮ КООРДИНАТЫ
trace(pupil.x);
pupil.x = Math.cos(angle) * 8;
pupil.y = Math.sin(angle) * 8;
}
Всё работает без проблем. Координаты зрачков (pupil) меняются примерно от -3 до 3.
Теперь пытаюсь прописать функцию в классе:
// ОСНОВНОЙ КОД
// ГДЕ-ТО В КОДЕ
addEventListener(Event.ENTER_FRAME, lookAtMouse);
// ЧУТЬ ДАЛЬШЕ В КОДЕ
function lookAtMouse(e:Event) {
var angle = Math.atan2(mouseY, mouseX);
c_embryoEyes.c_embryoEye.pupil.x = Math.cos(angle) * 8;
c_embryoEyes.c_embryoEye.pupil.y = Math.sin(angle) * 8;
}
Глаза добавляются на сцену с помощью addChild.
Меняю pupil на полный путь к мувклипу c_embryoEyes.c_embryoEye.pupil. Перестаёт работать. Координаты зрачков доходят только от 3 до 0. Получается так, что зрачки не делают полный оборот в глазу. В каком направлении можно копать? Запутался.