Форум 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=174383)

artirinka 24.01.2012 10:58

Остановка флеш-ролика при наведении мыши
 
Такой вопрос: есть на сайте движущаяся строка с логотипами (обычный флеш-ролик, сделанный в макромедии флеш 8), что прописать в экшн скрипт, чтобы при наведении на эту строку мышкой, она останавливалась.
Пробовала так:
Код AS1/AS2:

mc.onRollOver = function() {
  gotoAndStop("onrollover");
};
mc.onRollOut = function() {
  gotoAndStop("onrollout");
};

пробовала так:
Код AS1/AS2:

mc.onRollOver = function() { stop(); }
mc.onRollOut = function() { play(); }

пробовала так:
Код AS1/AS2:

onRollOver = function() {
this.stop();
}

Выдает ошибки:
Код:

**Error** Scene=Scene 1, layer=Layer 3, frame=1:Line 1: Statement must appear within on/onClipEvent handler
mc.onRollOver = function() { stop(); }

**Error** Scene=Scene 1, layer=Layer 3, frame=1:Line 2: Statement must appear within on/onClipEvent handler
mc.onRollOut = function() { play(); }

Total ActionScript Errors: 2 Reported Errors: 2

Подскажите пожалуйста, что не так, и как правильно...

mooncar 24.01.2012 11:07

Код необходимо обрамлять соответственными тегами!
Будьте внимательны к правилам форума.

artirinka 24.01.2012 11:18

извините, исправлюсь

mooncar 24.01.2012 11:29

Код необходимо записать в кадре, а не на самом мувике.
Если "движущаяся строка" имеет на сцене имя mc, то попробуйте так:
Код AS1/AS2:

mc.onRollOver = function() 
{
  this.stop();
};
 
mc.onRollOut = function()
{
 this.play();
};

"На сцене" - значит не в библиотеке, а в свойстве Instance name в свойствах муви-клипа.

artirinka 24.01.2012 14:32

Уточните, пожалуйста, Вот у меня 2 слоя на таймлайн, которые по очереди двигаются, создавая эффект непрерывно движущейся линии. И есть еще третий верхний слой, который является прозрачным прямоугольником и мувиклипом, то есть мне надо в свойствах мувиклипа третьего верхнего слоя прописать имя инстанс, затем нажать на тайм лайн этого слоя на первый кадр, затем зайти в экшн скрипт выбранного кадра и прописать в нем код...так или не так... просто в таком случае ошибки не выводятся, но и эффект не работает

mooncar 24.01.2012 18:03

Если у вас анимация расположена на главном таймлане, а не внутри отдельных мувиков и управляется наведением на прозрачный мувик с инстанс-именем mc, то в таком случае нужно останавливать главный таймлайн.
В первом кадре запишите:
Код AS1/AS2:

mc.onRollOver = function() 
{
  stop();
};
 
mc.onRollOut = function()
{
 play();
};


artirinka 25.01.2012 10:13

спасибо большое все получилось!


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

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