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

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

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

Регистрация: Apr 2014
Сообщений: 215
По умолчанию подсчет фигур на сцене

здравствуйте.такой вопрос,есть фла,нарисовал две фигуры простые на сцене, сцену привязал к классу
Код AS3:
 
package 
{
	import flash.display.*;
 
	public class ConterChild extends MovieClip
	{
      private var schet:int = 0;
		public function ConterChild()
		{
			schet = stage.numChildren;
			trace(schet)
		}
	}
 
}
trace(schet)
выдает 1, хотя две фигуры нарисованы.вчера ночью как то сделал,но не сохранил,теперь не пойму
почему сейчас не получается

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Здравствуйте. Попробуйте преобразовать фигуры в "фрагменты роликов" или "графику".

Старый 27.04.2014, 14:39
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 3  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
Цитата:
Сообщение от alexandrratush Посмотреть сообщение
Здравствуйте. Попробуйте преобразовать фигуры в "фрагменты роликов" или "графику".
ну фрагмент ролика он считает,но а фигура,разве не считает? почему то мне кажется что у меня получалось,может есть идеи по фигурам

Добавлено через 31 минуту
Цитата:
Сообщение от alexandrratush Посмотреть сообщение
Здравствуйте. Попробуйте преобразовать фигуры в "фрагменты роликов" или "графику".
кстати фрагменты роликов - movieClip,а графика?

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Цитата:
но а фигура,разве не считает? почему то мне кажется что у меня получалось,может есть идеи по фигурам
У вас получается один холст, где рисуются все фигуры (тоже самое, что через graphics программно)
Цитата:
кстати фрагменты роликов - movieClip,а графика?
Shape

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

Регистрация: Apr 2014
Сообщений: 215
Цитата:
Сообщение от alexandrratush Посмотреть сообщение
У вас получается один холст, где рисуются все фигуры (тоже самое, что через graphics программно)

Shape
а тогда просто нарисованная фигура что такое? тоже Shape?


Последний раз редактировалось delphic; 27.04.2014 в 16:02.
Старый 27.04.2014, 16:11
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 6  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Цитата:
а тогда просто нарисованная фигура что такое? тоже Shape?
Да. Можете вот так проверить:
Код AS3:
trace(getChildAt(0));

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

Регистрация: Apr 2014
Сообщений: 215
а еще вот такой код
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
 
	public class DocumentClass extends MovieClip
	{
      private var counterChildren:Number = 0;
	  private var roomChildren:DisplayObject;
	  private var childArray:Array = [];
		public function DocumentClass()
		{
			counterChildren = numChildren;
			for(var i:Number = 0;i<counterChildren;i++)
			{
				roomChildren = getChildAt(i);
 
				if(roomChildren is Shape)
				{
					childArray.push(roomChildren);
				}
			}
			addEventListener(Event.ENTER_FRAME,ef)
		}
		public function ef(e:Event):void
		{
          for(var i:Number = 0; i<childArray.length;i++)
			{
				this.removeChild(childArray[i])
				childArray.slice(i,1);
			}
		}
	}
 
}
почему то выводит ошибку
ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта.
at flash.display:displayObjectContainer/removeChild()
at DocumentClass/ef()
хотя и удаляются фигуры


Последний раз редактировалось delphic; 27.04.2014 в 18:10.
Старый 27.04.2014, 18:19
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
public function ef(e:Event):void
		{
                     this.removeChildren()
		}
Добавлено через 45 секунд
А вообще непонятно, что этот код делает. Хрень какая то
__________________
Марк Tween

Старый 27.04.2014, 18:25
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 9  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
Цитата:
Сообщение от in4core Посмотреть сообщение
Код AS3:
public function ef(e:Event):void
		{
                     this.removeChildren()
		}
Добавлено через 45 секунд
А вообще непонятно, что этот код делает. Хрень какая то
не знаю где - this.removeChildren()
у меня - this.removeChild(childArray[i])
нашел ошибку,нужно убрать с enter frame

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от delphic Посмотреть сообщение
не знаю где - this.removeChildren()
у меня - this.removeChild(childArray[i])
нашел ошибку,нужно убрать с enter frame
Это очень заезженная тема. Нельзя циклом for, который делает инкремент, удалить детей контейнера.
Если не использовать метод removeChildren(), то детей можно удалить циклом while с декрементом (for Тоже подойдет в принципе, но while проще)
Код AS3:
while (someContainer.numChildren) {
   someContainer.removeChildAt(0);
}
Если инкрементом, то количество детей будет уменьшаться, а переменная i расти. Естественно скоро ее значение превысит количество детей и вылетит эксепшен

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

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

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


 


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


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