PDA

Просмотр полной версии : Условие в if


DStan
12.06.2006, 15:21
Кнопка должна в зависимости от "К" выполнять различные функции. Но с таким кодом она выполняет только самый последний if. В чём ошибка?

on (release) {
if (k=0) {
_root.gotoAndPlay(1);
}
if (k=2) {
_root.gotoAndPlay(2);
}
if (k=3) {
_root.gotoAndPlay(3);
}
k = 1;
}

iNils
12.06.2006, 15:23
Знак = это присваивание, а сравнения это ==.

DStan
12.06.2006, 15:38
ясно. Спасибо :)

Ion
12.06.2006, 15:54
Знак = это присваивание, а сравнения это ==.
поэтому некоторые пишут не k==2 , а 2==k , что в случае ошибки (= вместо == ) вызовет ошибку

iNils
12.06.2006, 16:02
поэтому некоторые пишут не k==2 , а 2==k , что в случае ошибки (= вместо == ) вызовет ошибку
Хм, а не проще сразу писать без ошибки?:)

Ion
12.06.2006, 17:15
Я так и делаю

PSoWP
12.06.2006, 18:12
там проще можно

on (release) {
if (k != 1) {
_root.gotoAndPlay(k);
}
k = 1;
}

iNils
12.06.2006, 19:04
там проще можно

on (release) {
if (k != 1) {
_root.gotoAndPlay(k);
}
k = 1;
}


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

K.A.T.A.F.A.L.K.E.R
12.06.2006, 21:11
Хм, мне в таких случаях switch ближе к телу... :rolleyes:

iNils
12.06.2006, 21:22
Хм, мне в таких случаях switch ближе к телу... :rolleyes:
А мне массив.

etc
12.06.2006, 22:09
А я вообще такое не пишу :D

artcraft
12.06.2006, 22:21
я вместо == писал eq
а потои почитал, что он deprecated и пишу ==
:~)

artcraft
12.06.2006, 22:24
a тут самое место для switch

etc
12.06.2006, 22:26
Забудь eq

artcraft
12.06.2006, 22:29
забыл

Ion
13.06.2006, 00:43
Забудь eq
Почему?

Nirth
13.06.2006, 00:44
потому что это устаревшее.
и в ас3 этого нету=)

iNils
13.06.2006, 00:44
Почему?
Ты ведь не пишешь и не говоришь на старославянском.