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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.12.2010, 19:05
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 1  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
По умолчанию Как узнать, содержит ли контейнер детей?

Вопросы по contains и Timer

Решил сделать простенькую-корявенькую змейку. Вот код:
Код AS1/AS2:
var shar:MovieClip = new Sharik();
var i:int = 0;
var j:int = 0;
var t:Timer = new Timer(200,0);
 
addEventListener(Event.ENTER_FRAME, onFrame)
t.start();
t.addEventListener(TimerEvent.TIMER, onTime);
 
function onFrame(e:Event):void
{
	stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
 
function onMove(e:Event):void
{
	var shar:MovieClip = new Sharik();
	shar.x = mouseX;
	shar.y = mouseY;
	shar.name = "shar"+i;
 
	stage.addChild(shar);
	i++;
}
 
function onTime(e:Event):void
{
	if (stage.contains(shar))// мол если на сцене есть шарики
	{
	stage.removeChild(getChildByName(String("shar"+j)));
	j++;
	trace(shar.name);
	}
	else
	{
		trace("NO")
	}
}
Почему-то не выполняется следующая строчка:
Код AS1/AS2:
if (stage.contains(shar))
	{
	stage.removeChild(getChildByName(String("shar"+j)));
	j++;
	trace(shar.name);
	}
Прошу объяснить грамотных людей в чем дело! В общем как написать следующее: Сцена содержит детей shar

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Прошу объяснить грамотных людей в чем дело!
в функции onMove пишите не это
Код AS3:
var shar:MovieClip = new Sharik();
а вот это
Код AS3:
shar = new Sharik();
С наступающим! =) Хватит кодить, пора бухать праздновать
__________________
...вселенская грусть

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

Регистрация: Jan 2009
Сообщений: 1,651
stage.contains(shar) узнает есть ли на сцене мувик, ссылка на который находится в переменной shar. Это ровно одна проверка.
Чтобы узнать есть ли на сцене шарики нужно перебрать все объекты на сцене, проверить, являются ли они шаром. Но это вообще в корне не правильно.
Правильно держать массив со списком шаров, и добавлять/удалять элементы из массива, когда они добавляются/удаляются со сцены.
__________________
мой пустой блог

Старый 31.12.2010, 20:05
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 4  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Благодарю! Так и сделаю!

ВСЕХ С НОВЫМ ГОДОМ!!!

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

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

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


 


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


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