Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   _root.1мувик.2мувик.3мувик.onPress - не пашет. Как лечить? (http://www.flasher.ru/forum/showthread.php?t=57383)

urca 23.04.2004 11:13

_root.1мувик.2мувик.3мувик.onPress - не пашет. Как лечить?
 
Первым делом - извиняюсь перед модерами, но в форуме по повду АС2 никто не помогает, (а у меня уже горит проект без обработки, поэтому спрошу то же самое здесь. тот пост можете "завалить")

Значит такая задача.
Есть мувик-меню. Его особенность в том, что на самом деле в мувике собрано несколько менюшек (для разных обьектов), каждая из которых сама по себе мувик (они находятся разных кадрах и когда надо - основной мувик, как бы поворачивается нужной стороной (кадром) )
то есть такого плана: _root.menu_base.onooc
(onooc - это имя вложенной в основное меню (menu_base) другой менюшки в кадре 1. А для другого объекта будет такой путь -
_root.menu_base.onkoc или _root.menu_base.onrouter - она в кадре 2)
А уже в самом (к примеру) onooc находятся кнопки (тоже мувики) - mc_btn1, mc_btn2, mc_btn3....
Для обработки события нажатия на эту кнопку (пусть mc_btn1)

надо использовать функцию onRelease (onPress)
то есть такого плана строка должна быть -
_root.menu_base.onooc.mc_btn1.onRelease=function()
{ trace("Есть контакт... или другие действия...");}

Так ведь???
Но НЕ РАБОТАЕТ ЖЕ!!!!!!!!!!
не пойму, почему!!!!!!!!!
имена у меня не динамически задаются - то есть постоянно такие!!!
Если из самого мувика onooc задать mc_btn1.onRelease=function() {trace("труля-ля.. и все дела...");}
- то эта телега пашет.....
не понятно, черт возьми
Долбаная адресация... все время натыкаюсь на нее, как ежик в тумане... поясните пожалуйста походчивее (и якщо можно - побыстрее :-))
___________________
"....а ты в плену пустоты..."

TTS 23.04.2004 11:40

Re: _root.1мувик.2мувик.3мувик.onPress - не пашет. Как лечить?
 
Цитата:

Оригинал написал(а) urca
Первым делом - извиняюсь перед модерами, но в форуме по повду АС2 никто не помогает, (а у меня уже горит проект без обработки, поэтому спрошу то же самое здесь. тот пост можете "завалить")
Исходник давай.

urca 23.04.2004 12:39

а просто - так словами можно объяснить?
 
дело в том, что настоящий исходник - он не влезет никак!!!
переделать - довольно долго..я сейчас попробую, но был бы признателен, если все же пока словами пояснили - где могут быть grabli.. бо я же делал подобные функции - они работали нормально - а тут какой-то затык...

(ну не может же это быть от того, что этот мувик заранее не виден из того кадра в котором ему функция присваивается.....
(потому что он в другом кадре).. или может???)

Ну, я начал пример моего трабла создавать... как додлаю выложу!

______
"....ты видишь неверный свет..."

TTS 23.04.2004 13:13

Re: а просто - так словами можно объяснить?
 
Цитата:

Оригинал написал(а) urca
Ну, я начал пример моего трабла создавать... как додлаю выложу!

на этом этапе обычно все и выясняется.
Можно ее попробовать дебаггером пройтись или протрейсить, н-р:
trace(_root.menu_base);
trace(_root.menu_base.onooc);
trace(_root.menu_base.onooc.mc_btn1)

Да, еще функции, определенные на самой кнопе (on(press){...}), нельзя переопределить из скрипта, если не ошибаюсь.

urca 23.04.2004 13:37

Вложений: 1
(черт . а в АС2 ответил mishinaelle... и там тоже приаттачил исходник..)
вот - исходник.. вроде ничего сложного, но ведь не пашет же!!!

Ведь должно же!


________
"...разум ты мой наркотик..."

TTS 23.04.2004 14:36

В своем файле перед строчкой _root.menu_base.onooc.ldooc.onRelease=function() воткни
trace(_root.menu_base.onooc);
и убедишься, что mishinaelle прав.

urca 23.04.2004 15:48

ну я уже вижу что trace(_root.menu_base.onooc); выдает андефинит
и поэтому наверное не рабтает,
но ПОЧЕМУ ?????
ведь есть такой клип!
и путь верен!
в чем тут соль?
просветите меня пож-та, я готов к просвещению!

__________
"...и в глаза свет ударил лучом..."

sergwizard 23.04.2004 23:56

Цитата:

(ну не может же это быть от того, что этот мувик заранее не виден из того кадра в котором ему функция присваивается.....
(потому что он в другом кадре).. или может???)
Вот в этом и есть твоя проблема. Ты сам ответил на свой вопрос.

sergwizard 24.04.2004 00:16

Открываем твой исходник. Находим Movie Clip "menu_base". Открываем его и видим, что в первом фрейме расположен Movie Clip "back". И это все. Никаких клипов "onooc" и "ldooc" и в помине нет. Даже на других фреймах. Там только безымянные Movie Clip(ы).
И после этого ты хочешь, чтобы срабатывал onRelease на несуществующие объекты? :D

artfla$her 24.04.2004 01:59

Проще говоря, у тебя код написан раньше, чем появляются все эти "onooc" и прочее г. Их не существует при первоначальном запуске и через AS ты к ним не сможешь обратиться, пока кнопки не загрузятся на экран (запусти отладчик и увидишь, что кнопок в списке объектов просто нету)


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

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