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

DJ_ManiaC 16.07.2007 17:24

Глюк с надписью в дубликатах кнопки
 
Вложений: 1
Вопрос в следующем. Непонятно мне почему такое происходит. Делаю несколько одинаковых клипов методом attachMovie, в которых используется одна и таже мувик-кнопка сделаная по принципу тригера. При нажатии на эту кнопку в ней должна изменится надпись. А она, т.е. надпись, при нажатии на первую созданную кнопку меняется как надо, а в последующих отображается та которая забита в шаблоне. Хотя в них переменная которая отвечает за изменение надписи меняется коректно. Если создавать эти клипы с кнопкой внутри вручную - всё ок. Непойму в чём трабл. Для ясности выложил пример. Файл для Flash 8.

DJ_ManiaC 16.07.2007 23:06

Ну что люди? Никто не знает или всем исходник посмотреть лень? Я искал ответ на этот вопрос но так и не нашёл... Помогите пожалуйста разобраться... Там я думаю всё из-за анимации, но почему???

etc 16.07.2007 23:08

Плюс за ап.

DJ_ManiaC 16.07.2007 23:15

Цитата:

Сообщение от __etc
Плюс за ап.

Ну извините... :umnik2: А как ещё быть? Если топа на первой странице нет - его никто не посмотрит и соответственно не ответит... За новую тему тоже бы плюс добавили...

etc 16.07.2007 23:17

Цитата:

Сообщение от DJ_ManiaC
Ну извините... :umnik2: А как ещё быть? Если топа на первой странице нет - его никто не посмотрит и соответственно не ответит... За новую тему тоже бы плюс добавили...

Ждать надо ответа, а не через несколько часов тему поднимать.
Есть такая вещь, как «Новые сообщения». Оттуда никуда тема не денется.

Wolsh 17.07.2007 00:41

Замени matchNumber на растущую переменную, хоть на тот же NextLayer, и всё заработает
у тебя эти кнопки имена одинаковые получают при аттаче

DJ_ManiaC 17.07.2007 09:38

Спасибо, смысл понял и разобрался. У меня просто в другом коде matchNumber берётся из XML. Но вот строку где задаётся значение этой переменной я нечаянно при редактировании кода удалил, поэтому и возник такой глюк.

DJ_ManiaC 20.07.2007 10:48

Разобрался с одним, теперь другой вопрос появился и опять по той же кнопке. Немного переделал файл - пытаюсь теперь на все созданные програмно кнопки, повесить процедуру нажатия.
До изменения код был такой:
Код:

NextStringY = 0
NextLayer = 0
n = 10
while (NextLayer != n) {
        attachMovie("Str_ListBotton","Str_List" + matchNumber, NextLayer, {_x: 0, _y:NextStringY});
        NextStringY += 18
        NextLayer += 1
}

После изменения стал такой:
Код:

NextStringY = 0
NextLayer = 1
matchNumber = 1
n = 10
while (NextLayer != n) {
        var targetClip:MovieClip = createEmptyMovieClip("Match_" + matchNumber, NextLayer);
        targetClip.attachMovie("Str_ListBotton","Str_ListBotton", 0);

// Вот с этой функцией кнопка нормально не работает       
        targetClip.Str_ListBotton.ListBotton.onPress = function () {
                trace(targetClip);
        }
       
        NextStringY += 18
        NextLayer += 1
        matchNumber += 1
}

То что некоректно работает выделил в коде...
Подскажите почему когда добавляю функцию на нажатие кнопки, она работает, а все функции что внутри кнопки нет...
И ещё интересно, как сделать чтоб при нажатии выводился "Интенс Нейм" пустого клипа который создаётся в моём коде, и в который аттачится клип с кнопкой.

Wolsh 20.07.2007 13:19

у тебя там наверно ролловеры пересекаются? были навешаны на fon

DJ_ManiaC 20.07.2007 13:45

Процедура РоллОвер есть внутри кнопки, но она по идее должена относится к той кнопке на которую наводишь мышку, по крайней мере я думал что именно так оно и будет... Или у РоллОвера есть какие-то ограничения или специфики применения? Можно конечно сделать весь код для onPress внутри кнопки-мувика, и всё это будет работать (проверял), но я хочу эту кнопку применять в нескольких местах, и получается что общее между ними будет только анимация. Соответственно, нужно как-то сделать, чтобы событие onPress обрабатывалось и внутри кнопки и внешним кодом... И ещё внутри должны быть функции RollOver и RollOut - они сейчас именно там и есть, т.е. внутри кнопки-мувика.
Даже если я уберу процедуры к RollOver и RollOut - эффекта никакого... Анимация по нажатию так же не воспроизводится, выполняется только процедура onPress которая обозначена в РУТЕ...
Кому лениво смотреть исходник код внутри мувика кнопки такой:
Код:

BottonLabel = label_1
fon.onRollOver = function() {
        ArrowAnim.cursor = true;
        ArrowAnim.play();
        Ligth.play()
}
fon.onRollOut = function() {
        ArrowAnim.cursor = false;
        ArrowAnim.play();
        Ligth.play()
}
fon.onPress = function() {
        if (BottonLabel == label_1) {
                BottonLabel = label_2;
                ArrowAnim.play();
                LabelAnim.play();
                LightAnim.play();
        } else {
                BottonLabel = label_1
                ArrowAnim.play();
                LabelAnim.play();
                LightAnim.play();
        }
}



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

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