PDA

Просмотр полной версии : Снова переменные :(


Traveller
15.02.2006, 19:58
Очень извиняюсь, что видимо в две тысячи с половиной раз задаю этот вопрос -- но я уже перерыл весь архив, а точного ответа на свою ситуацию не нашёл...

<EMBED src=template/menu.swf quality=high bgcolor=white WIDTH=120 HEIGHT=490 FlashVars="cat='.$cat.'"
TYPE=application/x-shockwave-flash PLUGINSPAGE=http://www.macromedia.com/go/getflashplayer></EMBED> Здесь отправил(как хочется думать) переменную "cat" в ролик.

В ролике, во вложенном мувике, в кнопке
нужно провести такое сравнение:

if (cat=="news") {gotoAndStop(8);}
on (rollOver) {gotoAndPlay(2);}
on (rollOut) {gotoAndPlay(9);}
on (press) {getURL("http://areality.co.il/index.php?page=main&cat=news");}

Не знаю, как это правильно записать на ActionScript,
Получаю предупреждение о неверном синтаксисе:
Symbol=news, Layer=Layer 4, Frame=1: Line 1: Statement must appear within on handler
if (cat=="news") {gotoAndStop(8);}
Помогите, пожалуста...

Flasharik
15.02.2006, 20:00
Ты пишешь код для OnEvent во фрейме, а нужно в мувике или кнопки

nouba
15.02.2006, 20:06
cat=="news" ? obj.gotoAndStop(8) : "";
obj.onRollOver = function() {gotoAndPlay(2);}
obj.onRollOut = function() {gotoAndPlay(9);}
obj.onPress = function(){getURL("http://areality.co.il/index.php?page=main&cat=news");}

Traveller
15.02.2006, 20:07
спасибо :)
код правда всё-равно не работает -- но суть понял, остальное -- как-нить утрясу.

olegn
15.02.2006, 20:10
Ты пишешь код для OnEvent во фрейме, а нужно в мувике или кнопки
Уточню: конструкция типа
on () {} может быть только внутри экземпляра кнопки, но не на временной шкале. И наоборот, первая строка твоего кода не подходит для экземпляра кнопки.
Так что разнеси код или вместо on(){} используй другую допустимую конструкцию
myButton.onRollOver=function(){}
P.S. Да, только что Nouba так и сделал.

Traveller
15.02.2006, 20:11
2nouba -- у меня такую запись наотрез отказывается принимать...
Может из-за того, что МХ 2004...

Traveller
15.02.2006, 20:12
Уточню: конструкция типа
on () {} может быть только внутри экземпляра кнопки, но не на временной шкале. И наоборот, первая строка твоего кода не подходит для экземпляра кнопки.
Так что разнеси код или вместо on(){} используй другую допустимую конструкцию
myButton.onRollOver=function(){}
P.S. Да, только что Nouba так и сделал.
Суть я уловил -- похоже просто переменная не передалась.

nouba
15.02.2006, 20:16
Это все надо написать в екшине фрейма
Кнопку надо назвать "obj"
Переменная если она есть в пхп то в флэш бы передалась (код правильный)

nouba
15.02.2006, 20:17
cat=="news" ? _root.gotoAndStop(8) : "";
obj.onRollOver = function() {gotoAndPlay(2);}
obj.onRollOut = function() {gotoAndPlay(9);}
obj.onPress = function(){getURL("http://areality.co.il/index.php?page=main&cat=news");}


Ошибся я маленько.. если тебе по переменной надо "двинуть" рут то так правильнее

Traveller
15.02.2006, 20:18
Понял.

Traveller
15.02.2006, 20:24
cat=="news" ? _root.gotoAndStop(8) : "";
obj.onRollOver = function() {gotoAndPlay(2);}
obj.onRollOut = function() {gotoAndPlay(9);}
obj.onPress = function(){getURL("http://areality.co.il/index.php?page=main&cat=news");}


Ошибся я маленько.. если тебе по переменной надо "двинуть" рут то так правильнееВ такой форме -- неработает совсем.
Возможно -- нужна какая-то индентификация объекта(мувика-кнопки)?

nouba
15.02.2006, 20:27
В такой форме -- неработает совсем.
Возможно -- нужна какая-то индентификация объекта(мувика-кнопки)?

Я канешно дико извиняюсь но понятие "instance name" вам знакомо?

Antares
15.02.2006, 20:28
Читаем (http://noregret.org/tutor/scope/)

Traveller
15.02.2006, 20:45
Всё не так запущено...
не работает такая конструкция:

Код удален. Пользуемся тэгом code


cat=="news" ? _root.gotoAndStop(8) : "";
news.onRollOver = function() {gotoAndPlay(2);}
news.onRollOut = function() {gotoAndPlay(9);}
news.onPress = function(){getURL("http://areality.co.il/index.php?page=main&cat=news");}

Traveller
15.02.2006, 21:02
Кстати, если делать по первому варианту -- таки видно, что в ролике переменная "cat" неадекватна...
cat="news";
if (cat=="news") {gotoAndStop(8);}-- так работает корректно...
Вопрос только в том, где она потерялась, или как её нужно правильно назначить в ролике...

Traveller
15.02.2006, 21:15
Очень большое спасибо -- я ваш должник.

P.S.: добавил к имени переменной _root.

nouba
17.02.2006, 12:48
Не за что :)
Всегда рад