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

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

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

Регистрация: Dec 2008
Сообщений: 95
По умолчанию MoveClip и массив

Проблема, проблема и еще раз проблема!
Ребятки такое дело.
Имеется массив в который с течением времени закидываются мувики и позже при столкновении должны удаляться. Вот и проблема в том что не могу дойти до тогочтобу осуществилось удаление!

Код AS1/AS2:
arrFoor = new Array();
 
 
function foorPlace()
{
	fram++;
	if (fram % 50 == 0)
	{
		arrFoor.push(attachMovie('foor' + random(5), 'foor' + i, i, {_x:250, _y:37}));
		i++;
	}
	for (k = 0; k < arrFoor.length; k++)
	{
		arrFoor[k]._y += 10;
		if (arrFoor[k].hitTest(baraban.hitO))
		{
			arrFoor.splice(0,1);
			arrFoor[k].removeMovieClip();
		}
	}
}
 
 
onEnterFrame = function ()
{
	foorPlace();
}


Последний раз редактировалось udaaff; 16.05.2010 в 04:44.
Старый 16.05.2010, 03:55
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS1/AS2:
arrFoor = new Array();
 
function foorPlace(){
    fram++;
    if(fram%50==0){
	  arrFoor.push(attachMovie('foor'+random(5),'foor'+i, i,{_x:250, _y:37})); // 'foor'+random(5),'foor'+i, неадекватное написание рандом и задания имени. Но даж не в этом дело 
	  i++;
	    }
	for(k=0;k<arrFoor.length;k++){
		arrFoor[k]._y+=10;
                trace(arrFoor)// провести 
		if(arrFoor[k].hitTest(baraban.hitO)){
                        trace(arrFoor[k]) // тоже 
                        arrFoor.splice(0,1);
			arrFoor[k].removeMovieClip();
trace (arrFoor[0]  instanceof MovieClip) // тоже 
			}
		}
	}
 
 
onEnterFrame = function(){
	foorPlace();
 	}

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

Регистрация: Dec 2008
Сообщений: 95
странно
на проверку с мувиклипом пишет false иногда true
_level10 - что это значит?

Старый 16.05.2010, 04:59
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Вы сначала удаляете элемент из массива, а потом пытаетесь вызвать removeMovieClip() на элементе, которого там уже нету.

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

Регистрация: Dec 2008
Сообщений: 95
даже если написать так

Код AS1/AS2:
arrFoor[k].removeMovieClip();
arrFoor.splice(0,1);
if(arrFoor[k].removeMovieClip){trace('mc deleted')}
то все равно трэйс не выходит, а со сцены мувик пропадает!

Старый 16.05.2010, 05:37
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
А с какой радости он срабатывать должен?

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

Регистрация: Dec 2008
Сообщений: 95
так если мувик сам пропадает со сцена при использовании removeMovieClip
почему же не выходит трэйс?

Старый 16.05.2010, 05:57
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Потому что он у вас должен вывестись при каком-то непонятном условии.
if(arrFoor[k].removeMovieClip)

Старый 16.05.2010, 05:59
noode вне форума Посмотреть профиль Отправить личное сообщение для noode Найти все сообщения от noode
  № 9  
Ответить с цитированием
noode
 
Аватар для noode

Регистрация: Dec 2008
Сообщений: 95
и как же задать правильно?

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

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
как то так:
if(!arrFoor[k])

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

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

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


 


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


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