Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Вопрос на который пока никто не смог ответить (http://www.flasher.ru/forum/showthread.php?t=41792)

Horror 11.01.2003 16:03

Вопрос на который пока никто не смог ответить
 
Короче есть две ситуации.

Ситуация 1
В руте лежит гора кнопок. У каждой - уникальное имя. По нажатию на любую нужно определить имя кнопки на которую нажимаем.
Задача: КАК?

Ситуация 2
В руте лежит гора мувиков. У каждого уникальное имя. В каждом мувике - кнопка, также именованая. По нажатию на любую из кнопок через параметр _name получаем имя мувика в котором лежит кнопка.
Задача: отключить параметром .enabled=false; кнопку на которую нажали.
НЕработающий пример(который теоретически ДОЛЖЕН работать):
Код:

on (press) {
  var name = _name;
  // имя мувика в котором
  // лежит нажатая кнопка

  var link = "_root." + name + ".i2";
  // i2 - имя самой кнопки на которую
  // нажали + путь от корня

  link.enabled = false;
// еще вот так можно попробовать :)

  [link].enabled = false;

}

Пока никто не смог ответить как проделать эти операции...
Будет весело если это нельзя сделать в принципе :))

iLoveYou 11.01.2003 16:23

Вложений: 1
Сдается мне, голубчик, гоните Вы все. Спрашивали плохо...

Horror 11.01.2003 16:36

Все замечательно
 
Вложений: 1
только суть в том что кнопки и мувики генерятся функцией.
И мы не знаем как называтся кнопка на которую нажимаем.
Вот к чему я клоню.

В коде, который ты дал - явно приписано название кнопки. Тогда и смысла нет никакого узнавать как ее зовут.

Вот пример, относящийся ко второму вопросу который я задал.
Неудачный пример к слову говоря :(

iLoveYou 11.01.2003 16:49

Твоей идеи я не понял. Распиши словами то, что хочешь сделать - что это будет практически.

А на оба твоих вопроса я ответил. Получить имя сгенеренного мувика не сложнее, чем получить имя имеющегося. Отключить кнопку, зная ее имя, тоже возможно.

ЗЫ
Код:

        b1="_level0.test."+_root.i1;
Вот это что такое?

Horror 11.01.2003 17:07

Так.
В краце объясняю что у меня происходит.

Это игра "Пары"
Функция генерирует массив с кнопками. Затем создает дубль на каждую из них. Это все снова запихивается в массив. Затем случайным образом из него вытаскиваются 9 кнопок и дублей к ним.
Все это раскидывается по экрану.

При нажатии на кнопки мы должны получать их имена.
1. Для того чтобы знать совпали пары или нет.
2. Чтобы задать совпавшим парам параметр .enabled=false;
3. Чтобы задать НЕсовпавшим парам параметр _alpha=0;

Вот вроде и все. Затык у меня произошел как раз на получении имен этих кнопок.

Пробовал идти двумя методами:
1. Засунув кнопки в мувики производить операции уже с мувиками. В этом случае имя мувика я получаю превосходно. Но вот параметр enabled=false; не работает с переменными в путях. Т.к. мне нужно идти от корня, чтобы отключить сразу две кнопки, то приходится засовывать путь к кнопкам в переменную. Вид получается к примеру такой: [link].enabled=false; Но такая строка не работает. Почему - не понятно. Примечательно, что если трейсом вывести значение переменной link и поставить так: _root.myMovie.buttonName.enabled=false; - то все работает.

2. Раскидывал кнопки прямо в руте. Но тогда получение имен кнопок вообще не представляется возможным...

Вот такие вот пироги... :(

iLoveYou 11.01.2003 17:12

А зачем использовать именно кнопки?

Horror 11.01.2003 17:21

Мне показалось так проще при проектировании...
Оказалось что нет.

А какие еще варианты могут быть?
Суть то по идее одинакова...

sergwizard 11.01.2003 18:37

Вложений: 1
Можно пойти таким путем.

Horror 11.01.2003 18:53

СУПЕР!!! пасиба... :))

Я правда добавил еще пару строк, чтобы проверить работоспособность... РАБОТАЕТ! :) Вот они:

Код:

        name=eval ("_root.qqq"+n);
        name.enabled = false;

Единственное - кнопка сразу не отключается...
Убираем курсор с кнопки, потом наводим обратно - только тогда выключается. При первом щелчке она остается работоспособной.

sergwizard 11.01.2003 19:13

Если хочешь, чтобы сразу после щелчка, - вместо on(release) напиши on(press).


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

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