Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как повесить мышиные события на символ мувика? (http://www.flasher.ru/forum/showthread.php?t=76541)

Violent_C 07.03.2006 19:39

Как повесить мышиные события на символ мувика?
 
Дано: Один символ типа MovieClip в библиотеке. Один его instance на сцене. В первом кадре сцены этот instance размножен с помощью duplicateMovieClip 36 раз. Нужно прописать для каждого instance одинаковые мышиные события типа rollover, rollout, click и drag'n'drop.

Вопрос: Как сделать это в символе, чтобы не прописывать события для каждого инстанса?

Спасибо

KUZEN 07.03.2006 19:52

Прописывай это в цикле когда размножаешь мувик

Код:

_root["mc"+i].onRollOver = function(){
trace("rollOver");
}


silin 07.03.2006 20:20

более 'цивилизованный' вариант:
связываем символ в библиотеке с классом, в котором прописываем все, что должен знать/уметь мувик..
Код:

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й ?

silin 08.03.2006 00:04

-(начиная с 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.

Как правильно залинковать свой класс?

silin 08.03.2006 01:37

имя файла с классом должно совпадать с именем класса (т.е. MyClass.as)
если файл лежит в том же каталоге, что и fla , то import MyClass; не нужен..

Король 08.03.2006 02:00

или в субкаталоге - тогда обращаемся как к package


Часовой пояс GMT +4, время: 20:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.