PDA

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


kokni
22.06.2006, 14:24
Не нашел полного ответа на форуме, поэтому создаю тему.

Дело такое:

При нажатию на кнопку она должна менять цвет (с этим разобрался)

on (release) {
name = new Color(name);
name.setRGB("0xFF0000");
}

НО! Мне нужно чтобы при повторном нажатии на эту же кнопку, цвет менялся на исходный. Кто подскажет?

BigDan
22.06.2006, 14:37
НО! Мне нужно чтобы при повторном нажатии на эту же кнопку, цвет менялся на исходный. Кто подскажет?
Обьявим переменную counter, которая бедет определять какой цвет на данный момент у кнопки.
var counter:Number=0;
btn_name.onRelease=function(){
if(counter==0){
...меняем цвет...
counter=1;
}
if(counter==1){
...меняем цвет обратно...
counter=0;
}
}

iNils
22.06.2006, 14:39
http://flasher.ru/forum/showthread.php?t=80861

kokni
22.06.2006, 14:59
Ругается на эту строку: var counter:Number=0;

BigDan
22.06.2006, 15:03
Ругается на эту строку: var counter:Number=0;
Ты в каком флеше работаешь?

etc
22.06.2006, 15:07
BigDan, ты проверял тот код, что написал?

kokni
22.06.2006, 15:09
Ты в каком флеше работаешь?

mx 2004

iNils
22.06.2006, 16:15
var counter:Number=0;
btn_name.onRelease=function(){
if(counter==0){
...меняем цвет...
counter=1; }
if(counter==1){
...меняем цвет обратно...
counter=0;
}
}
Сильно :)

BigDan
22.06.2006, 16:28
действительно, сорри
var counter:Number=0;
btn_name.onRelease=function(){
if(counter==0){
....меняем цвет....
}else{
...меняем цвет обратно...
}
if(counter==0){
counter=1;
}else{
counter=0;
}
}

BigDan
22.06.2006, 16:31
Ругается на эту строку: var counter:Number=0;
Попробуй var counter=0;

kokni
22.06.2006, 16:54
неа, не фурычит

iNils
22.06.2006, 16:56
BigDan, а кто вам мешает в одном ифе все сделать?

Уникальный Нуп
22.06.2006, 18:59
on(press) {
if (state<>0) {
state = 0;
....задаем цвет 1....;
}
else {
state = 1;
....задаем цвет 2....;
}
}
в одном "ифе"

iNils
22.06.2006, 19:08
Типа конкурс? :)
var counter:Boolean = false;
btn_name.onRelease = function () {
if (!counter) {
trace ("...меняем цвет...");
} else {
trace ("...меняем цвет обратно...");
}
counter = !counter;
};

kokni
23.06.2006, 13:26
on(press) {
if (state<>0) {
state = 0;
....задаем цвет 1....;
}
else {
state = 1;
....задаем цвет 2....;
}
}
в одном "ифе"

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

kokni
29.06.2006, 13:15
все в отпуска подались чтоли? ответьте кто-нибудь.

DissDoc
29.06.2006, 13:25
Используй код инилса - у него в цикле работает. А у тя переменная в товем коде просто локальная.

kokni
10.07.2006, 14:05
Не работает он. Ругается

**Error** Scene=Scene 1, layer=map, frame=1:Line 1: Statement must appear within on handler
var counter:Boolean = false;

**Error** Scene=Scene 1, layer=map, frame=1:Line 2: Statement must appear within on handler
all_map.onRelease = function () {

etc
10.07.2006, 14:20
var counter:Boolean = false;
btn_name.onRelease = function() {
!counter ? trace("...меняем цвет...") : trace("...меняем цвет обратно...");
counter = !counter;
};

Ваще без if =)

iNils
10.07.2006, 14:40
Не работает он. Ругается

**Error** Scene=Scene 1, layer=map, frame=1:Line 1: Statement must appear within on handler
var counter:Boolean = false;

**Error** Scene=Scene 1, layer=map, frame=1:Line 2: Statement must appear within on handler
all_map.onRelease = function () {
Уберите код с кнопки и поставите его на таймлайн.

Nidl
10.07.2006, 22:41
_root.zzz = 1;
_root.button.onPress = function() {
_root.zzz = -_root.zzz;
};
_root.onEnterFrame = function() {
if (_root.zzz == -1) {
trace("меняй что хочешь");
}
if (_root.zzz == 1) {
trace("возвращай обратно");
}
};

=)

Gaen
11.07.2006, 01:00
_root.flag = true;
_root.button.onPress = function() {
_root.flag = !_root.flag;
};
_root.onEnterFrame = function() {
if (!_root.flag) {
trace("меняй что хочешь");
}else{
trace("возвращай обратно");
}
};


Кто круче? :)

Gaen
11.07.2006, 01:02
Блин, это ж то же самое что и у __etc! :) [/B]__etc[/B], у тя тоже с if'oм, тока в сокращённой форме...

D12
11.07.2006, 01:38
Эх ... главное это стопроцентная работаспособность в любой ситуации , остальное все ерунда , вариантов множество .

P.S. Подобная темка уже была =) и варианты были : )
победил Нирч ) он одной строчкой на AC3 написал )

P.S.2. 2GAIKER кстати =) вот эта вещичка "!" или "not" второе ее имя, в большенстве случаев сьедает загрузку центрального процессора процентов эдак на десять )

kokni
17.07.2006, 15:46
господа, кому не в лом, сделайте примерчик. у меня так ничего и не заработало...

Nidl
17.07.2006, 20:56
Держи : )