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

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

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

Регистрация: Oct 2008
Сообщений: 1
По умолчанию Перетаскваие объектов НА объекты.

Приветствую, уважаемые флешеры!

Дайте, пожалуйста, совет: как получить объект НА который был перенесен другой объект?

Объект, который перетаскивают:

Код:
package
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
		
	public class Fruit extends Sprite
	{
		private var fruitType:String;
		
		[Embed (source = "images\\apple.png")]
		private var apple:Class;
		
		[Embed (source = "images\\pear.png")]
		private var pear:Class;
		
		[Embed (source = "images\\plum.png")]
		private var plum:Class;
		
		public function Fruit(_type:String)
		{
			setFruitType(_type);
			addChild(getFruitImage());
			this.name = fruitType + "_Fruit";
			addEventListener(MouseEvent.MOUSE_DOWN, beginDrag);
			addEventListener(MouseEvent.MOUSE_UP,endDrag);
		}
		
		private function getFruitImage():DisplayObject
		{
			var image:DisplayObject;
			switch (fruitType)
			{
				case TYPES.APPLE : 
					image = new apple() as DisplayObject;
					break;
				case TYPES.PEAR :
					image = new pear() as DisplayObject;
					break;
				case TYPES.PLUM :
					image = new plum() as DisplayObject;
					break;
				default:break;	
			}
						 
			return image;
		}
		
		public function setFruitType(_type:String):void
		{
			fruitType = _type;
		}

		public function beginDrag(event:MouseEvent):void
		{
			this.startDrag();
			
		}
		
		public function endDrag(event:MouseEvent):void
		{
				this.stopDrag();
			if(this.dropTarget!=null)
			{
			
				trace(this.dropTarget.name);
			}	
				
			/*	подозреваю, что тут должна быть 
работа с dropTarget.name, но проблема в том, 
что при перетаскивании	
на объект класса Box (описание его ниже) dropTarget выдает null ...	*/
		
		}
		
	}
Объект, НА который перетаскивают:
Код:
package
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
		
	public class Box extends Sprite
	{
		private var fruitType:String;
		private var sum:Number =0 ;
					
		[Embed (source = "images\\box.png")]
		private var box:Class;
		
		public function Box(_type:String)
		{
			setFruitType(_type);
			this.name = fruitType + "Box";
			addChild(getBoxImage());
		}
		
		private function getBoxImage():DisplayObject
		{
			var image:DisplayObject = new box() as DisplayObject;
			return image;
		}
		
		public function setFruitType(_type:String):void
		{
			fruitType = _type;
		}
		
	}
}

У меня стойкое ощущение, что я с самого начала неправильно это реализую, но я самоучка и это мой первый прожэкт на as3.0. Помогите, пожаааалуста

Старый 09.10.2008, 10:27
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
возможно путаница в том, что dropTarget указывает на битмап в Box'е , а ты смотришь dropTarget.name, которого у него и нет..

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

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

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


 


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


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