Проблемы с переменной bool

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Проблемы с переменной bool

Сообщение yarikphoenix1990 21 апр 2013, 18:50

Всем привет! Возможно мой вопрос и прост, но перерыв кучу сайтов я так и не нашел на него ответа (хотя скорее всего искал не там и не то...)

Проблема в следующем:
Синтаксис:
Используется csharp
        public bool f = true;
        public int n = 0;
                       
        void OnMouseEnter() {
                 Debug.Log (f);
               
                if (f = true) {
                n-=1;
                f = false;}
                               
                if (f = false) {
                n+=1;
                f = true;}
         }


При вхождении курсора в область объекта переменная f должна поменять значение на false а n уменьшиться на 1. При повторном вхождении, если f = false, переменная n должна наоборот увеличиться на 1. Но она этого не делает, и все время уменьшается :((

В логе после первого вхождения значение f - true, при всех последующих - false... Не вижу логики вообще, т.к. при false n должно увеличиваться, а продолжает уменьшаться :-s Посоветуйте хоть какое-то решение этой проблемы, я только начал программировать в Unity и не могу ничего поделать с этим :-??
yarikphoenix1990
UNец
 
Сообщения: 18
Зарегистрирован: 21 апр 2013, 18:24

Re: Проблемы с переменной bool

Сообщение BornFoRdeatH 21 апр 2013, 18:55

(f = false)

Это какой оператор? Мне кажется присвоения. А вам какой нужен? Мне кажется сравнения.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Проблемы с переменной bool

Сообщение yarikphoenix1990 21 апр 2013, 19:02

Спасибо за быстрый ответ:)

Но теперь другая проблема...

Синтаксис:
Используется csharp
 public bool f = true;
        public int n = 0;
                       
        void OnMouseEnter() {
                 Debug.Log (f);
               
                if (f == true) {
                n-=1;
                f = false;}
                               
                if (f == false) {
                n+=1;
                f = true;}
         }


В логе f всегда true, а n не меняется вообще... я уже пробовал с оператором сравнения, но он вообще безрезультатен... с присвоением хоть какое-то движение было... Если это возможно, не могли бы вы пожалуйста более подробно описать мою ошибку?? Буду очень очень признателен:)
yarikphoenix1990
UNец
 
Сообщения: 18
Зарегистрирован: 21 апр 2013, 18:24

Re: Проблемы с переменной bool

Сообщение BornFoRdeatH 21 апр 2013, 19:20

Ребята, ну где логика то? :D

Синтаксис:
Используется csharp
 f = false;
 if (f == false)


Синтаксис:
Используется csharp
f = !f;
if (f) {
n++;
} else {
n--;
}
 
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Проблемы с переменной bool

Сообщение yarikphoenix1990 21 апр 2013, 20:09

Благодарю:)))) Вы открыли мне глаза:))) впредь постараюсь так не тупить..))
yarikphoenix1990
UNец
 
Сообщения: 18
Зарегистрирован: 21 апр 2013, 18:24

Re: Проблемы с переменной bool

Сообщение AMD 21 апр 2013, 20:39

или если Вам надо, что бы только часть скрипта отработала пользоваться return

Синтаксис:
Используется csharp
                if (f == true) {
                n-=1;
                f = false;
                return;}
                               
                if (f == false) {
                n+=1;
                f = true;
                return;}
 
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: Проблемы с переменной bool

Сообщение yarikphoenix1990 22 апр 2013, 09:41

Благодарю:) до этой функции еще не дошел, но она однозначно понадобится:) Вы сэкономили мне немало времени:) Хотелось бы сказать, что я в долгу перед вами, но вряд ли смогу его вернуть в ближайшие пол года ;)
yarikphoenix1990
UNец
 
Сообщения: 18
Зарегистрирован: 21 апр 2013, 18:24


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 23