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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.03.2012, 22:47
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 11  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Wolsh, я бы сюда еще добавил проверку на общий для яблок контейнер и по его достижении сбрасывал бы цикл. Хотя целесообразность зависит от его (контейнера) глубины относительно stage.
Код AS3:
var p:DisplayObject;
var cont:DisplayObjectContainer;
var length:int = objects.length;
for (var i:uint = 0; i < length; i++)
{
	p = objects[i];
	while(p != null)
	{
		if(p == cont)
		{
			break;
		}
		if(p is Apple) 
		{
			this.removeChild(p);
			break;
		}
		p = p.parent;
	}
}
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.03.2012, 22:54
dvrbear вне форума Посмотреть профиль Отправить личное сообщение для dvrbear Найти все сообщения от dvrbear
  № 12  
Ответить с цитированием
dvrbear
[+1.3 06.03.12]
 
Аватар для dvrbear

Регистрация: Oct 2003
Адрес: Moldova, Kishinev
Сообщений: 133
Отправить сообщение для dvrbear с помощью ICQ Отправить сообщение для dvrbear с помощью Skype™
а что, созданный в ручную на сцене мувик в который вложены (програмно или вручную) другие мувики - автоматически приобретает тип DisplayObjectContainer ?
__________________
http://apa-noua.com/portfolio

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
MovieClip происходит от DisplayObjectContainer, поэтому все условия сохраняются, при этом мы не пользуемся не нужным функционалом спрайтов/мувиклипов.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.03.2012, 23:07
dvrbear вне форума Посмотреть профиль Отправить личное сообщение для dvrbear Найти все сообщения от dvrbear
  № 14  
Ответить с цитированием
dvrbear
[+1.3 06.03.12]
 
Аватар для dvrbear

Регистрация: Oct 2003
Адрес: Moldova, Kishinev
Сообщений: 133
Отправить сообщение для dvrbear с помощью ICQ Отправить сообщение для dvrbear с помощью Skype™
почемуто на оба сравнения выдает false

Код AS3:
//var cont:DisplayObjectContainer;
//var cont:MovieClip;
trace(pole == cont);
__________________
http://apa-noua.com/portfolio

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

Регистрация: Feb 2012
Сообщений: 1,540
Код AS3:
trace(pole is DisplayObjectContainer, pole is MovieClip);

Старый 06.03.2012, 23:26
dvrbear вне форума Посмотреть профиль Отправить личное сообщение для dvrbear Найти все сообщения от dvrbear
  № 16  
Ответить с цитированием
dvrbear
[+1.3 06.03.12]
 
Аватар для dvrbear

Регистрация: Oct 2003
Адрес: Moldova, Kishinev
Сообщений: 133
Отправить сообщение для dvrbear с помощью ICQ Отправить сообщение для dvrbear с помощью Skype™
ага пасиб
тоже какраз такой ответ нашел

а то както страно было объявлять
переменную чтоб потом с ней сравнивать
да и parent - полюбому должен являться DisplayObjectContainer

кстатии объявить без ошибок получилось только так
странно почему DisplayObjectContainer не хочет прописываться по принципу MovieClip

Код AS3:
//public var cont:DisplayObjectContainer;
//public var cont:MovieClip = new MovieClip();
__________________
http://apa-noua.com/portfolio

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Тут поможет приведение типов.
В данном коде cont - он уже существует, я его написал, что бы показать что он есть и кто таков. Присвойте данной переменной ваш контейнер, где все яблоки находятся.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вопрос скорее, у какого контейнера вызывается метод getObjectsUnderPoint()
Что-то мне подсказывает, что сам контейнер не может оказаться в списке своих детей под точкой.
Так что я бы вызывал этот метод у нужного контейнера, а не у рута и не у стейджа, и не включал эту избыточную проверку. Но тогда точку надо переводить в локаль контейнера, а это тоже адский труд
__________________
Reality.getBounds(this);

Старый 07.03.2012, 15:36
dvrbear вне форума Посмотреть профиль Отправить личное сообщение для dvrbear Найти все сообщения от dvrbear
  № 19  
Ответить с цитированием
dvrbear
[+1.3 06.03.12]
 
Аватар для dvrbear

Регистрация: Oct 2003
Адрес: Moldova, Kishinev
Сообщений: 133
Отправить сообщение для dvrbear с помощью ICQ Отправить сообщение для dvrbear с помощью Skype™
вы совершенно правы
в список попадают дети конкретно указанного объекта

тоесть к примеру если я храню яблоки в pole.derevo
а под derevo пападает соседний объект pole.yashik

то указав
Код AS3:
var objects:Array = pole.derevo.getObjectsUnderPoint(pt);
в список попадут только яблоки а ящик не затронется
все очень здорово, удобно и грамотно работает

также хочу заметить что стартовые точки объектов должны совпадать (0,0)
илиже потребуется делать перерасчет проверяемой точки
Код AS3:
var pt:Point = new Point(mouseX,mouseY);
__________________
http://apa-noua.com/portfolio

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
var pt:Point = pole.derevo.globalToLocal( new Point(stageX, stageY) ); // stageX, stageY - глобальные координаты
__________________
Reality.getBounds(this);

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

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

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


 


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


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