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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.12.2012, 12:28
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 1  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
По умолчанию проблемы с splice

вот кусочек кода:
Код AS3:
var indexMIN:int
var MAX_WC:Number = new Number
var MAX_storeroom:Number = new Number
var styles_50x50:Array = ["WC", "storeroom", "passage"]
 
if (MAX_WC == 2)
		{
			trace ("НЕТ")
			indexMIN  = styles_50x50.indexOf("WC"); 
			styles_50x50.splice (indexMIN,1)
			MAX_WC = 0
		}
		if (MAX_storeroom == 2)
		{
			trace ("НЕТ")
			indexMIN  = styles_50x50.indexOf("storeroom"); 
			styles_50x50.splice (indexMIN,1)
			MAX_storeroom = 0
		}
почему не storeroom не удаляется?

Старый 22.12.2012, 13:04
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну очевидно потому что MAX_WC != 2, а MAX_storeroom != 2
__________________
Reality.getBounds(this);

Старый 22.12.2012, 14:26
goWalk вне форума Посмотреть профиль Найти все сообщения от goWalk
  № 3  
Ответить с цитированием
goWalk
Banned

Регистрация: Aug 2012
Адрес: Mars: -333; -333;
Сообщений: 87
Записей в блоге: 2
Код AS3:
var indexMIN:int
var MAX_WC:Number = 2
var MAX_storeroom:Number = 2
var styles_50x50:Array = ["WC", "storeroom", "passage"]
 
if (MAX_WC == 2)
		{
			trace ("НЕТ")
			indexMIN  = styles_50x50.indexOf("WC"); 
			styles_50x50.splice (indexMIN,1)
			MAX_WC = 0
		}
		if (MAX_storeroom == 2)
		{
			trace ("НЕТ")
			indexMIN  = styles_50x50.indexOf("storeroom"); 
			styles_50x50.splice (indexMIN,1)
			MAX_storeroom = 0
		}

Старый 22.12.2012, 14:30
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 4  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
Цитата:
Ну очевидно потому что MAX_WC != 2, а MAX_storeroom != 2
в смысле? не понял.

Старый 22.12.2012, 15:27
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
var MAX_WC:Number = new Number
var MAX_storeroom:Number = new Number
Почему Вы решили, что они равны 2?
__________________
Reality.getBounds(this);

Старый 25.12.2012, 14:46
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 6  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
я не показал тот кусочек кода который прибавляет к ним 1

Старый 25.12.2012, 15:29
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 7  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
если сократить ваш код до такого вида:

Код AS3:
 var styles_50x50:Array = ["WC", "storeroom", "passage"];
var indexMIN:int;
 
indexMIN  = styles_50x50.indexOf("WC");
styles_50x50.splice (indexMIN,1);
 
ObjectTracer.traceRecursive(styles_50x50);
 
indexMIN  = styles_50x50.indexOf("storeroom");
styles_50x50.splice (indexMIN,1);
ObjectTracer.traceRecursive(styles_50x50);

то в итоге все отлично удаляется:

Код AS3:
 <object> storeroom,passage
[trace] 0: storeroom (string)
[trace] 1: passage (string)
[trace] </object>
[trace] <object> passage
[trace] 0: passage (string)
[trace] </object>
так что скорее всего у вас просто не заходит в условие, т.к. ваш инкремент, который вы не указали, работает неправильно.

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

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

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


 


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


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