Plery
16.02.2011, 14:42
Здравствуй Всем! На форуме я новый, так что не бейте сильно если что-то не так напишу.
На AS2 делаю игрушку, т.к. пока что я больше дизайнер чем программист - столкнулся с неразрешимой для меня задачей: есть клип MAIN_mc, который содержит еще 2 клипа ball и arrow_mc. Выглядят они соответственно как стрелка и шар. На таймлайне MAIN_mc размещен код:
this.onPress = function(){
startDrag(this, false, 30, 30, 570, 320);
}
this.onRelease = this.onReleaseOutside = function(){
stopDrag();
}
onEnterFrame = function(){
arrow_mc._x=_xmouse
arrow_mc._y=_ymouse
var dx:Number = arrow_mc._x - ball._x;
var dy:Number = arrow_mc._y - ball._y;
var radians:Number = Math.atan2(dy, dx);
var angle:Number = radians * 180 / Math.PI;
arrow_mc._rotation = angle;
}
Задача этого кода отслеживать положение двух вложенных клипов относительно друг друга (т.е. стрелка постоянно указывает на шар, т.к. так надо). Стрелка соответственно "зацеплена" к мышке, а сам клип MAIN_mc можно таскать по сцене. Так вот я размещаю на _root множество экземпляров клипа MAIN_mc и рядом с курсором оживает пучок стрелок, каждая из которых указывает на свой экземпляр. Так вот СМЫСЛ В ТОМ, чтобы клип со стрелкой-указателем не таскался за курсором, как в моем примере, а располагался в нужной мне точке сцены, например по центру. Либо, что еще лучше, принимал координаты другого клипа, расположенного на _root, и при перетаскивании экземпляров клипа MAIN_mc никуда не смещался! Нужно каким-то образом переписать этот участок кода: arrow_mc._x=_xmouse
arrow_mc._y=_ymouse Причем так, чтобы если я вдруг клип MAIN_mc всуну еще в один клип (а так скорее всего случится), скрипт продолжал работать! Задавал вопросы на других форумах, но не получил даже вразумительного ответа возможно ли такое в принципе. Здесь по форуму смотрел подобные темы - ответа либо нет, либо не нашел. Сам догадываюсь, что методы getBounds и localToGlobal наверное существуют как раз для подобных целей, пытался даже принять координаты _root и пересчитать смещение MAIN_mc относительно его, но выходит криво, т.к. опыта программирования у меня маловато. Помогите кто чем может! (прошу извинить за "крик души" если тут так не принято, но мой проект ГОРИТ, чтоб его) Исходник и swf приложил.
На AS2 делаю игрушку, т.к. пока что я больше дизайнер чем программист - столкнулся с неразрешимой для меня задачей: есть клип MAIN_mc, который содержит еще 2 клипа ball и arrow_mc. Выглядят они соответственно как стрелка и шар. На таймлайне MAIN_mc размещен код:
this.onPress = function(){
startDrag(this, false, 30, 30, 570, 320);
}
this.onRelease = this.onReleaseOutside = function(){
stopDrag();
}
onEnterFrame = function(){
arrow_mc._x=_xmouse
arrow_mc._y=_ymouse
var dx:Number = arrow_mc._x - ball._x;
var dy:Number = arrow_mc._y - ball._y;
var radians:Number = Math.atan2(dy, dx);
var angle:Number = radians * 180 / Math.PI;
arrow_mc._rotation = angle;
}
Задача этого кода отслеживать положение двух вложенных клипов относительно друг друга (т.е. стрелка постоянно указывает на шар, т.к. так надо). Стрелка соответственно "зацеплена" к мышке, а сам клип MAIN_mc можно таскать по сцене. Так вот я размещаю на _root множество экземпляров клипа MAIN_mc и рядом с курсором оживает пучок стрелок, каждая из которых указывает на свой экземпляр. Так вот СМЫСЛ В ТОМ, чтобы клип со стрелкой-указателем не таскался за курсором, как в моем примере, а располагался в нужной мне точке сцены, например по центру. Либо, что еще лучше, принимал координаты другого клипа, расположенного на _root, и при перетаскивании экземпляров клипа MAIN_mc никуда не смещался! Нужно каким-то образом переписать этот участок кода: arrow_mc._x=_xmouse
arrow_mc._y=_ymouse Причем так, чтобы если я вдруг клип MAIN_mc всуну еще в один клип (а так скорее всего случится), скрипт продолжал работать! Задавал вопросы на других форумах, но не получил даже вразумительного ответа возможно ли такое в принципе. Здесь по форуму смотрел подобные темы - ответа либо нет, либо не нашел. Сам догадываюсь, что методы getBounds и localToGlobal наверное существуют как раз для подобных целей, пытался даже принять координаты _root и пересчитать смещение MAIN_mc относительно его, но выходит криво, т.к. опыта программирования у меня маловато. Помогите кто чем может! (прошу извинить за "крик души" если тут так не принято, но мой проект ГОРИТ, чтоб его) Исходник и swf приложил.