Форум 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)
-   -   Условный оператор "if" - нужна помощь (http://www.flasher.ru/forum/showthread.php?t=138906)

Maxim 19.04.2010 01:12

Условный оператор "if" - нужна помощь
 
Имеется код:
----------------
Код AS1/AS2:

stop();
f_ploshad2_txt.text = _global.f_ploshad;
if (f_ploshad2_txt.text = 300) {
f_ob_txt.text = "10";
f_personal_txt.text = "12";
}
else if (f_ploshad2_txt.text = 420) {
f_ob_txt.text = "15";
f_personal_txt.text = "20";
}
else if (f_ploshad2_txt.text = 600) {
f_ob_txt.text = "20";
f_personal_txt.text = "25";
}

----------------
В таком случае, всегда выполняется только первое условие((( Тоесть f_ploshad2_txt.text меняется (300, 420 или 600), а вот два других поля всегда имеют почемуто значения 10 и 12 (как в первом условии)
Пытался всяко разна переделать, почему то не выходит((
Помогите пожалуйста!

AzagThoth 19.04.2010 01:26

Боро боро! Используйте в if оператор сравнения, а не оператор равенства(если вдруг не знаете оператор сравнения это ==)

in4core 19.04.2010 01:41

Код AS1/AS2:

f_ploshad2_txt.text = 300

между прочим это тоже неверно и нетолько из за присвоения
Код AS1/AS2:

f_ploshad2_txt.text == "300"

а вот так верно во всех случаях

Maxim 19.04.2010 01:48

Не работает! (
Может дела в предистории?)
У меня есть три кадра. На каждом из них есть текстовое поля со значениями 300, 420 и 600. В зависимости на каком кадре находишься - жмешь кнопку и глобальной переменной присваивается значение соответсвующего поля. Это функция работает. Так как на новом кадре в новом текстовом поле это значение отображается. А вот следующее действие с оператором if не выполняется.( Могу выложить коды предыдущих кадров...

Добавлено через 6 часов 51 минуту
Помогите пожалуйста =)

tsarapkabel 19.04.2010 16:18

Может проще исходник выложить?

Maxim 19.04.2010 16:46

Да, конечно! Залил на депозит!
http://*****************/files/vn9ixx3j9
Проблема на 3 сцене, 7 кадре...
Буду признателен за помощь

tsarapkabel 19.04.2010 17:56

У вас меняется только кадр. Попробуйте создать пустое текстовое поле и уже потом при помощи переменной задавать его значения 300-420-600.

Maxim 19.04.2010 19:09

Да, кадры у меня меняются допустим с 4 по 6. В зависимости с какого кадра ты попадаешь на 7 кадр, такое значение и присваивается ДИНАМИЧЕСКОМУ ТЕКСТУ f_ploshad2_txt. А уже в зависимости от него должен работать оператор их. Просто если я вставлю InputText, то в общую картину совершенно не впишется))) Я думаю, что все-таки есть выход, используя динамический текст или я Вас неправильно понял.
Так же я думал, что в операторе if операндой использовать глобальную переменную, т.к. она задает текст динамическому тексту (сори за товталогию). Т.е. if (_global.ploshad = "...") {...}. Но и этот вариант у меня не выходит.

fessor 20.04.2010 02:01

скорее всего я не в тему, но!
динамическое текстовое поле должно быть одно на все кадры, иначе получить или записать туда что-нибудь нельзя (можно через раз и с глюками)
+попробуйте использовать case вместо if

Maxim 20.04.2010 11:35

Пробовал через функцию switch - не выходит. И странно получается, если я свое динамическое поле буду самостоятельно в коде приравнивать необходимым числам (300 420 600), то все выполняется и работает. А как только я подставлю _global.f_ploshad, так не работает или выполняется только первое условие((

Может сам исходник кто-нибудь посмотрит? Который день сижу, ничего не могу понять почему так. Все кажется что вот-вот, а не выходит(


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

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