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

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

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

Регистрация: Jul 2012
Сообщений: 112
Question Удаление объекта

Вопрос в комментариях в классе button

Основной класс
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.MouseEvent;
 
	import map.Button;
 
	public class VirtualMap4 extends Sprite
	{
 
		private var cell:Sprite;
		private var button:Button = new Button();
 
		public function VirtualMap4()
		{
			displayCell();		
			displayButton();
		}
 
// Отображаем квадрат
		public function displayCell():void
		{
			cell = new Sprite();
			var x:uint = 4;
			var y:uint = 4;
			cell.graphics.lineStyle(1, 0x000000);
			cell.graphics.drawRect(x, y, 100, 100);
			addChild(cell);
		}
 
// Отображаем кнопку
		public function displayButton():void
		{
			button.displayButton();
			addChild(button);			
		}
 
 
 
 
	}
}

класс кнопки
Код AS3:
package map
{
	import flash.display.Sprite;
	import flash.events.MouseEvent;
 
	public class Button extends Sprite
	{
		private var button:Sprite;
 
		public function Button()
		{
			super();
		}
 
		public function displayButton():void
		{
			button = new Sprite();
			var x:uint = 4;
			var y:uint = 110;
			button.graphics.beginFill(0xFFFFFF, 1.0);
			button.graphics.lineStyle(1, 0x000000);
			button.graphics.drawRect(x, y, 20, 20);
			button.buttonMode = true;
			addChild(button);
//вешаем событие на кнопку
			button.addEventListener(MouseEvent.CLICK, buttonAction);
		}
 
//слушатель события
		public function buttonAction(e:MouseEvent):void
		{
			trace("remove");
//как при клике удалить квадрат со сцены?
			removeChild();
		}
	}
}
Если это делать в основном классе - все понятно, а вот если операция удаления должна происходить в другом классе - я в тупике.


Последний раз редактировалось olejan1991; 01.04.2013 в 22:55.
Старый 01.04.2013, 21:10
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 2  
Ответить с цитированием
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
событие посылайте да и всё

Старый 01.04.2013, 21:25
olejan1991 вне форума Посмотреть профиль Отправить личное сообщение для olejan1991 Найти все сообщения от olejan1991
  № 3  
Ответить с цитированием
olejan1991

Регистрация: Jul 2012
Сообщений: 112
ответ не понятен

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
ответ не понятен
Собственно, как и вопрос.

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Код AS3:
public function displayButton():void
{
	button.displayButton();
	addChild(button);			
        button.addEventListener(MouseEvent.CLICK, buttonAction);
}
 
public function buttonAction(e:MouseEvent):void
{
	trace("remove");
	removeChild(button);
}
Или из самой кнопки

Код AS3:
parent.removeChild(this);
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 01.04.2013, 22:52
olejan1991 вне форума Посмотреть профиль Отправить личное сообщение для olejan1991 Найти все сообщения от olejan1991
  № 6  
Ответить с цитированием
olejan1991

Регистрация: Jul 2012
Сообщений: 112
так удаляется кнопка, а нужно удалять большой квадрат

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
а! тогда невыполнимо.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 02.04.2013, 00:58
olejan1991 вне форума Посмотреть профиль Отправить личное сообщение для olejan1991 Найти все сообщения от olejan1991
  № 8  
Ответить с цитированием
olejan1991

Регистрация: Jul 2012
Сообщений: 112
тогда не могу понять как же удалить этот объект?

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
olejan1991, шучу я, можно конечно. Ну подумайте головой. Просто не до всех доходит , что для вас БОЛЬШОЙ КВАДРАТ. Если вы хотите удалить cell, то в классе кнопки этого точно делать не стоит. Сделайте в майне подпись на клик кнопки и по клику удаляйте.

Код AS3:
public function displayButton():void
{
	button.displayButton();
	addChild(button);			
        button.addEventListener(MouseEvent.CLICK, buttonAction);
}
 
public function buttonAction(e:MouseEvent):void
{
	trace("remove");
	removeChild(cell);
}
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 02.04.2013, 02:11
olejan1991 вне форума Посмотреть профиль Отправить личное сообщение для olejan1991 Найти все сообщения от olejan1991
  № 10  
Ответить с цитированием
olejan1991

Регистрация: Jul 2012
Сообщений: 112
оно та все красиво звучит, но вот как в майне подписаться на событие, которое происходит в классе button?

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

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

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


 


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


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