Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Вывод кнопки по условию


Автор: pdoerti 20.1.2009, 12:34
Народ, помогите!
Искал, но ненашел решения своей проблемы и встала вся работа.

В общем есть мувик, он непрерывно проигрывается и с каждым новым проигрыванием увеличивается переменная (а), в общем мне нужно:
 чтобы когда переменная достигнет определённого значения, отобразилась кнопка. Но до тех пор, пока переменная не соответствует нужному значению, эта кнопка не показывалась и не была кликабельна. 
Кнопка находится в библиотеке мувика с названием к примеру:  w_knop

Вот примерное условие в АС2:

Код

if (a > 10) {тут незнаю как показать кнопку из библиотеки}

Автор: bars80080 20.1.2009, 12:49
ну, а как подключается мувик?
Код

per = this.attachMovie(linkage_of_movie, 'name', depth);

вот это и поставь в условие. дальше надо только указать его координаты: per._x = 200; per._y = 100;

Автор: pdoerti 20.1.2009, 13:06
Попробовал вот так:
Код

if (a > 10) {
per = this.attachMovie(linkage_of_movie, 'w_knop', depth);
per._x = 200; per._y = 100;
}


Не появляется 

Автор: szz 20.1.2009, 13:55
А ты линкадж в библиотеке прописал, в символе?

Добавлено через 1 минуту и 6 секунд
Код

if (a > 10) {
per = this.attachMovie("w_kop_linkage_name", 'w_knop', depth);
per._x = 200; per._y = 100;
per._visible=true;
}

Автор: pdoerti 20.1.2009, 14:54
Спасибо!
Получилось )
У меня теперь другой вопрос появился - а как к этой кнопке привязать действие
Код

on (press) { a = 0; gotoAndPlay(1); }

если этой кнопки нет на рабочем столе?

Автор: bars80080 20.1.2009, 15:06
в каком флэше пишешь?

пробовал после атача прописать:

Код

per.onRelease() = function() {
    // все твои действия
};

Автор: pdoerti 20.1.2009, 15:25
В Flash 8 MX пишу.
Прописал вот так:
Код

if (a > 70) {
per = this.attachMovie("w_kop_linkage_name", 'knop', depth);
per._x = 100; per._y = 100;
per._visible=true;
per.onRelease() = function() {
    on (press) { a = 0; gotoAndPlay(1); }
};}

Указывает на ошибку:
1- per.onRelease() = function() {
2- on (press) { a = 0; gotoAndPlay(1); }

Автор: pdoerti 20.1.2009, 17:20
Всё, разобрался. 
Спасибо за пинок в правильном направлении smile

Вот такая конструкция заработала:
Код

if (a > 70) {
per = this.attachMovie("w_kop", 'knopka', 1);  // Создаём копию символа из библиотеки
per._x = 100; per._y = 100;                             // Задаём координаты расположения
per._visible=true;
per.onPress = function() {                                // Обработчик при нажатии на кнопку
    removeMovieClip(per);                          // Удаляем кнопку (экземпляр) после нажатия и выполняем действие
    a = 0; }
}

Автор: szz 20.1.2009, 20:38
Можно и onRelease, просто не пиши 
per.onRelease() = function() {
а
per.onRelease = function() {

тут per.onRelease это не функция, а как бы переменная, на котороую ты вешаешь анонимную функцию.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)