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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.10.2013, 16:56
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 71  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Типа вот так что ли?
http://dispatchevent.org/mims/idisplayobject/

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
You would still have to type cast to DisplayObject to use this as an argument for addChild().
Цитата:
Requires you to use asDisplayObject() every time you want to use the object as a DisplayObject.
А смысл?
Это надо делать нативно со стороны платформы.
А костыли и велосипеды мы тут все изобретать умеем с разной степенью успешности. Только это далеко не всегда профит ожидаемый дает.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 28.10.2013, 17:44
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 73  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цитата:
А смысл?
Это я как раз к тому.
Цитата:
Это надо делать нативно со стороны платформы.
Интересно. Что вы подразумеваете под нативным интерфейсом IDisplayObject? Поясните? Не понятен ход ваших мыслей.

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
вот то что по ссылке но с адекватной поддержкой со стороны плеера и стандартных библиотек.
Без кастов там где это не нужно.
Так как такой интерфейс как раз призван ибавить от кастов. Но получается то ради чего я бы это делал - не выполняется.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Странно что надо повторять, у Вас как будто фокус зрения никак не соберется на этой простой вещи:
Интерфейс не говорит о том, что можно сделать с объектом, какому методу его можно передавать и т.п.
Интерфейс описывает методы самого объекта, а не методы, которые будут использовать этот объект.
Интерфейс никак не может описать addChild(), который можно применить к его имплементатору.
Интерфейс вообще в принципе не для этого. Щелкните уже переключателем.

Добавлено через 3 минуты
Цитата:
Так как такой интерфейс как раз призван ибавить от кастов. Но получается то ради чего я бы это делал - не выполняется.
Он призван избавить от кастов в ситуации, когда нужно гарантировать наличие метода у объекта. Избавить от кастов, когда нужен аргумент определенного типа, он никак не может. Это не входит в его задачи. Интерфейс не подменяет тип данных. Он сам и есть тип данных.
__________________
Reality.getBounds(this);

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
doc.addChild(child:IDisplayObject):IDisplayObject
instead
Код AS3:
doc.addChild(child:DisplayObject):DisplayObject
И всего-то.
НО это надо делать изначально со стороны платформы. Поэтому никаким костылем это не заткнется.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 28.10.2013, 19:37
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 77  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
А.. кажется понял..
IDisplayObject - пустышка типа IBitmapDrawable? Действительно, просто.. и не нужно.
Но вы же говорили про какие-то геттеры, возвращающие "шейп или хз". Вот этот момент интересен. Как этот возврат будет работать нативно? Не понятно.
ЗЫ.
Занятно, таким макаром можно было бы потребовать ISocket, IURLLoader, IByteArray ... красота!

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
IDisplayObject - пустышка типа IBitmapDrawable?
Я не знаю как вам объяснить.....
Я как раз о том что пустышка не нужна.
И костыль-велосипед тоже не нужен.
Но поддержку на уровне платформы сделать можно было. И не пустышками-тегами.
И если бы у меня интерфейс потребовал геттер шейпа, который позволит этот шейп добавить на сцену.
И если бы я выдал пустой шейп - то система бы не сломалась. А то что шейп пустой - было бы на моей совести.

Но сама гипотетическая возможность интересна.

Добавлено через 2 минуты
Цитата:
ISocket, IURLLoader, IByteArray
А почему нет?
java вся на интерфейсах и ниче, жива.
Местами перебор конечно, тем более с их нейминг конвеншном (без префикса "I" и "A") - но тем не менее.
Я при наличии прямых рук могу всё что угодно реализовать и не сильно прыгая с бубном.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 28.10.2013, 21:06
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 79  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Одна из задач интерфейсов - скрывать реализацию и принуждать использовать только те методы которые в нем описаны, а насчет API у вас могут разные API - vk,ok,fb & ets. Это я про унификацию продолжаю. А извращаться можно и не так как показывал дукобраз. К сожалению, интерфейсы нельзя программировать, но ручками оно понятно надежнее.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Dukobpa3, без проблем))
Код AS3:
package 
{
	import flash.display.DisplayObject;
 
	public interface IDOCAddable 
	{
		public function get view():DisplayObject;
	}
}
Код AS3:
package 
{
	import flash.display.DisplayObject;
	import flash.display.Sprite;
 
	public class ChildDO extends Sprite implements IDOCAddable 
	{
		public function ChildDO() { }
 
		/* INTERFACE IDOCAddable */
 
		public function get view():DisplayObject 
		{
			return this;
		}
	}
}
Код AS3:
package
{
	import flash.display.Sprite;
 
	public class MainClass extends Sprite 
	{
 
		public function MainClass() 
		{
			addAsChild(new ChildDO());
		}
 
		private function addAsChild(child:IDOCAddable):void 
		{
			this.addChild(child.view);
		}
	}
}
__________________
Reality.getBounds(this);

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

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

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


 


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


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