![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2008
Сообщений: 2
|
Здраствуйте, я ньюбай во флеше. Если не затруднит, помогите пожалуйста разобраться с проблемой.
Есть массив из Мувиклипов и массив из кнопок. Все мувиклипы находяться на сцене в одном слое, массив из кнопок в другом слое. При наведении на один из МувиКлипов (onRollOver), мувиклипу присваеватся функция обработчик, которая инициализирует его, определяет первоначальные кординаты мувиклипа и т.д.,И, так же в этой функции имеются 2 другие функции onPress(изменяет кординаты МувиКлипа) и onRollOut (возвращает первоначальные кординаты Мувиклипа). При активизации ф-ции onPress через onEnterFrame начинает данный мувиклип изменять свои кординаты, а вместе и с ним изменяет кординаты привязаной к нему кнопки. Так вот проблема: активизация onRollOut (за пределами мувиклипа) срабатывает и тогда, когда я навожу на кнопку курсор мыши и тогда мувиклип изменяет кординаты на первоначальные, получается на кнопку могу нажать только в таком состоянии, а не в любой точке...код: var allmc:Array = [planet_mc, star_mc, car_mc];
btn._x=planet_mc._x;
for (var i = 0; i<allmc.length; i++) {
allmc[i].onRollOver = function() {
edit(this);
};
}
var edit:Function = function (MCtmp_mc):Void {
var initx:Number = MCtmp_mc._x;
var speedx:Number = 0;
var distancex:Number = (Stage.width)/2;
var mcPressHandler:Function = function ():Void {
if (!MCtmp_mc.onEnterFrame) {
MCtmp_mc.onEnterFrame = function():Void {
speedx = (distancex-this._x)/50;
this._x += speedx;
};
}
};
var mcRollOutHandler:Function = function ():Void {
if (MCtmp_mc.onEnterFrame) {
delete MCtmp_mc.onEnterFrame;
}
this._x = initx;
}
MCtmp_mc.onPress = mcPressHandler;
MCtmp_mc.onRollOut = MCtmp_mc.onReleaseOutside=mcRollOutHandler;
};
Последний раз редактировалось Bruja21; 14.03.2008 в 18:54. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 2
|
Если мне никто не хочет помочь советом, может пожалуйста кто с опытом посоветует как сделать подругому.
Тоесть мувиклип и кнопка в нём + onEnterFrame и чтобы работало) Примного благодарен за любой совет. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|