Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.03.2015, 05:06
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 1  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
По умолчанию Проблема с циклом

Код AS3:
	public function obj(event:MouseEvent):void
		{
 
			for (i = 0; i < array_object.length; i++)
			{
				if (array_object[i] != 2)
				{
					cursor.gotoAndStop(3);
				}
			}
		}
Выше цикл, условие if которого нефига не воспринимается. Есть массив array_object. В array_object[0] = 2; в array_object[1] = 3; По циклу пробегаем по элементам массива и сравниваем значение, которое в условии. Но как не крути, условие почему то выполняется, хотя не должно, ведь в элементах массива есть число 2. Никак не могу понять в чем косяк. Если я сделаю

Код AS3:
if (array_object[0] == 2)
				{
					cursor.gotoAndStop(3);
				}
То условие выполняется, потому что в первом элементе есть число 2. Но почему через цикл такое не проходит, никак не пойму.

Старый 07.03.2015, 05:31
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 2  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
Цитата:
Но как не крути, условие почему то выполняется, хотя не должно, ведь в элементах массива есть число 2
?
Либо вы неправильно выразились, либо вы считаете, что if (array_object[i] != 2) сначала проверяет весь массив, а лишь потом сравнивает.
Если вы всё же хотите, что бы условие не выполнялось, если найдётся хоть один такой элемент, то сделать можно например так
Код AS3:
 
public function obj(event:MouseEvent):void{
       var bool: Boolean = true;
       for (i = 0; i < array_object.length; i++){
                  if (array_object[i] != 2)                      //в вашем втором примере тут "=="
                           bool =false;
       }
       if (bool)
               cursor.gotoAndStop(3);
}

Старый 07.03.2015, 15:47
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 3  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Спасибо за помощь)

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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