![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Mar 2004
Адрес: Украина, Винница
Сообщений: 4
|
У меня есть скрип написаный в мувиклипе Angel вида :
onClipEvent (enterFrame) { speed = 8; Spot_x = _root._xmouse; Spot_y = _root._ymouse; delta_x = _x - Spot_x; delta_y = _y - Spot_y; targetRotation = -Math.atan2(delta_x, delta_y)/(Math.PI/180); // move beetle toward the target and stop when it gets there if (Math.sqrt((delta_x*delta_x)+(delta_y*delta_y))>(speed+4)) { _y -= speed*Math.cos(targetRotation*(Math.PI/180)); _x += speed*Math.sin(targetRotation*(Math.PI/180)); }; play(); } Я хочу записать все скрипты в первом фрейме головной сцены попробывал исправить пути в обработчиках на абсолютные. зделал это примерно так запихнул в первый фрейм отдельного слоя головной сцены скрипт в таком виде Angel.onEnterFrame = function { speed = 8; Spot_x = _root._xmouse; Spot_y = _root._ymouse; delta_x = Angel._x - Spot_x; delta_y = Angel._y - Spot_y; targetRotation = -Math.atan2(delta_x, delta_y)/(Math.PI/180); // calculate the two methods of rotation // // move beetle toward the target and stop when it gets there if (Math.sqrt((delta_x*delta_x)+(delta_y*delta_y))>(speed+4)) { Angel._y -= speed*Math.cos(targetRotation*(Math.PI/180)); Angel._x += speed*Math.sin(targetRotation*(Math.PI/180)); }; play(); } При попытке запустить ролик выдаётся ошибка Scene=Scene 1, Layer=Layer 29, Frame=1: Line 1: Function name expected Angel.onEnterFrame = function { знаю ошибку допустил елементарную, но как прописывать абсолютные пути на обработчик нигде в книгах найти не могу, ПОМОГИТЕ ПОЖАЛУЙСТА или дайте ссылки на литературу ! Заранее спасибо |
|
|||||
|
Регистрация: Oct 2003
Адрес: Украина, Киев
Сообщений: 44
|
Привет!
Пути тут ни причем, если повнимательнее прочитать сообщение об ошибке. Имхо тут ошибка в синтаксисе Цитата:
Angel.onEnterFrame = function (){ дальше, если ты будеш писать в таком стиле, то все переменных, в теле данной ф-ции, объявляй как Angel.variable_name = .... но лучше исп. другой вариант, напр. function initSomeClip(movieClip){ movieClip.speed=10; movieClip.onEnterFrame = function(){ movieClip._x+=movieClip.speed; } } далее чтобы запустить ф-ию пишеш initSomeClip(_root.Angle); тогда данную функцию можно испльзовать не только для клипа с имянем Angel. удачи
__________________
Удачи, Flasham |
|
|||||
|
Регистрация: Mar 2004
Адрес: Украина, Винница
Сообщений: 4
|
Цитата:
Я привел скрипт к виду Angel.onEnterFrame = function () { Angel.speed = 8; Angel.Spot_x = _root._xmouse; Angel.Spot_y = _root._ymouse; Angel.delta_x = Angel._x - Spot_x; Angel.delta_y = Angel._y - Spot_y; Angel.targetRotation = -Math.atan2(Angel.delta_x, Angel.delta_y)/(Math.PI/180); // move beetle toward the target and stop when it gets there if (Math.sqrt((Angel.delta_x*Angel.delta_x)+(Angel.delta_y*Angel.delta_y))>(Angel.speed+4)) { Angel._y -= Angel.speed*Math.cos(Angel.targetRotation*(Math.PI/180)); Angel._x += Angel.speed*Math.sin(Angel.targetRotation*(Math.PI/180)); } play(); } Теперь ошибка ичезла но и мувик перестал за мышкой литать |
|
|||||
|
Регистрация: Oct 2003
Адрес: Украина, Киев
Сообщений: 44
|
Привет!
Убири в конце Play() и проверь математику. удачи
__________________
Удачи, Flasham |
![]() |
Часовой пояс GMT +4, время: 00:37. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|