Просмотр полной версии : Как повесить мышиные события на символ мувика?
Violent_C
07.03.2006, 19:39
Дано: Один символ типа MovieClip в библиотеке. Один его instance на сцене. В первом кадре сцены этот instance размножен с помощью duplicateMovieClip 36 раз. Нужно прописать для каждого instance одинаковые мышиные события типа rollover, rollout, click и drag'n'drop.
Вопрос: Как сделать это в символе, чтобы не прописывать события для каждого инстанса?
Спасибо
Прописывай это в цикле когда размножаешь мувик
_root["mc"+i].onRollOver = function(){
trace("rollOver");
}
более 'цивилизованный' вариант:
связываем символ в библиотеке с классом, в котором прописываем все, что должен знать/уметь мувик..
class MyClass extends MovieClip{
function onRollOver(){
trace(this+ ' over');
}
function onRollOut(){
trace(this+ ' out');
}
//и т.д.
}
Violent_C
07.03.2006, 23:43
Спасибо silin. Нравится вариант с собственным расширяющим классом.
Только как его связывать с символом в библиотеке?
И что конкретно делает trace?
К примеру как должен выглядеть код, если по RollOn мувик должен проиграть фреймы с 2го по 6й ?
-(начиная с 7-ки) в linkage properties символа- поле AS2 class
-выводит в output аргумент, больше ничего..
-к примеру так:
class MyClass extends MovieClip{
function onRollOver(){
gotoAndPlay(2);
onEnterFrame=stopOn6;
}
function stopOn6(){
if(_currentframe==6){
stop();
onEnterFrame=null;
}
}
}
Violent_C
08.03.2006, 01:28
silin спасибо еще раз. Прошу извинить мою безграмотность (во флеше работаю всего 4й день), но у меня не получается прицепить класс к мувику.
Стоит 8й Flash.
В linkage символа мувика стоят галки Export for ActionScript и Export in first frame.
В строке AS2.0 class - MyClass.
Код с описанием класса - в файле cards.as. Файл находится в том же каталоге, что и cards.fla
Первой строчкой первого фрейма сцены import MyClass;
При компиляции выдает ошибку:
**Error** Symbol=Card_Club_mc, layer=Transform 3, frame=1:Line 1: The class or interface 'MyClass' could not be loaded.
Как правильно залинковать свой класс?
имя файла с классом должно совпадать с именем класса (т.е. MyClass.as)
если файл лежит в том же каталоге, что и fla , то import MyClass; не нужен..
или в субкаталоге - тогда обращаемся как к package
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.