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

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

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

Регистрация: Jul 2012
Сообщений: 31
Question Как использовать addChild внутри класса?

Уважаемые флешеры, собственно вопрос: у меня есть функция, внутри неё находится addChild, который допустим должен выводить Sprite на Stage. Возможно такое реализовать?

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

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Да, возможно, а в чем проблема?
И причем тут класс? В вопросе ни слова о классах.

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

Регистрация: Jul 2012
Сообщений: 31
Да, я просто забыл написать, извиняюсь.
вот например:
Код AS3:
package 
{
	import flash.display.*;
	import script.GVar;
 
	public class TraceAndButtons {
 
		public function TraceAndButtons() {
			var btn:MyButton = new MyButton();
			for(var i=0; i<=GVar.rowInput; i++){
	for(var j=0; j<=GVar.colInput; j++){
		GVar.traceX=i*GVar.step+GVar.gridCreateChild_posX;
		GVar.traceY=j*GVar.step+GVar.gridCreateChild_posY;
		trace("Ячейка ["+i+","+j+"] координаты x,y: ["+GVar.traceX+","+GVar.traceY+"]" );
		var btn:MyButton = new MyButton();
		addChild(btn);         /// что мне сделать что бы эта строка заработала?
		GVar.buttonId=GVar.buttonId+1;
		//btn.data = { id: buttonId };
		btn.x = GVar.traceX-100;
		btn.y = GVar.traceY-100;
		}
			}
		}
 
	}
 
}

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Класс-то чей наследник? Не вижу у него метода addChild(), который Вы вызываете.
Если класс наследник мувиклипа, то так и пишите:
Код AS3:
public class TraceAndButtons extends MovieClip {
__________________
Reality.getBounds(this);

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

Регистрация: Jul 2012
Сообщений: 31
Вот у меня два класса задействованы при создании кнопок

первый
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.display.Shape;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import script.GVar;
 
	public class MyButton extends MovieClip
	{
		/*
		private var my_button:SimpleButton;
		*/
		public function MyButton()
		{
			init();
		}
 
		private function init():void
		{
 
 
			createButton();
			addChild(GVar.my_button);
			addingListener();
		}
 
		private function createButton():void
		{
			GVar.my_button=new SimpleButton();
			GVar.my_button.x=50;
			GVar.my_button.y=50;
 
			GVar.my_button.upState=designButton(5);
			GVar.my_button.overState=designButton(10);
			GVar.my_button.downState=designButton(16);
			GVar.my_button.hitTestState=GVar.my_button.upState;
		}
 
		private function designButton(rattio:Number):Shape
		{
			var circle:Shape=new Shape();
			circle.graphics.beginFill(0x000000,1);
			circle.graphics.drawCircle(GVar.my_button.x,GVar.my_button.y,rattio);
			circle.graphics.endFill();
			return(circle);
		}
 
		private function addingListener():void
		{
			GVar.my_button.addEventListener(MouseEvent.CLICK,clicked);
			function clicked(m:MouseEvent):void
			{
				trace('ok');
			}
 
		}
	}
}
и собственно второй
Код AS3:
package 
{
 
	import script.GVar;
	import MyButton;
 
	public class TraceAndButtons  {
 
		public function TraceAndButtons() {
			var btn:MyButton = new MyButton();
			for(var i=0; i<=GVar.rowInput; i++){
	for(var j=0; j<=GVar.colInput; j++){
		GVar.traceX=i*GVar.step+GVar.gridCreateChild_posX;
		GVar.traceY=j*GVar.step+GVar.gridCreateChild_posY;
		trace("Ячейка ["+i+","+j+"] координаты x,y: ["+GVar.traceX+","+GVar.traceY+"]" );
		var btn:MyButton = new MyButton();
		addChild(btn);
		/*
		var btn:MyButton = new MyButton();
		this.addChild(btn);
		*/
		GVar.buttonId=GVar.buttonId+1;
		//btn.data = { id: buttonId };
		btn.x = GVar.traceX-100;
		btn.y = GVar.traceY-100;
		}
			}
		}
 
	}
 
}
вызываю всё на сцене
Код AS3:
btn_ButAndTrace.addEventListener(MouseEvent.CLICK, addButtonsAndTraceIt)
function addButtonsAndTraceIt(event:MouseEvent) :void
{
	var traceAndButtons:TraceAndButtons = new TraceAndButtons();
	addChild(TraceAndButtons);
}
при таком раскладе могу я использовать addChild?


Последний раз редактировалось Snopka; 23.08.2012 в 15:53.
Старый 23.08.2012, 22:33
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 6  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Чтобы добавлять кнопки к списку отображения traceAndButtons, нужно чтобы TraceAndButtons наследовал MovieClip. Так, как это уже Wolsh написал. Абсолютно напрасно игнорировать его ответ.

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

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

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


 


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


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