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

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

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
главная часть любого инструмента - это голова его владельца.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Note that there is a known bug with Dictionary that prevents it from operating correctly with references to methods
Я Вам по секрету скажу, что ссылка на метод и ссылка на экземпляр какого-либо класса это сооооовсем разные вещи.

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

Регистрация: Apr 2006
Сообщений: 165
Отправить сообщение для artfabrique с помощью ICQ
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Я Вам по секрету скажу, что ссылка на метод и ссылка на экземпляр какого-либо класса это сооооовсем разные вещи.
Я Вам по секрету скажу — я врубаюсь Просто «не багом единым», как говорится...
__________________
To beer or no to beer?
That is the question...

Старый 06.02.2011, 00:38
semenyakinVS вне форума Посмотреть профиль Отправить личное сообщение для semenyakinVS Найти все сообщения от semenyakinVS
  № 24  
Ответить с цитированием
semenyakinVS

Регистрация: Mar 2010
Сообщений: 137
Могу поделиться своим решением (сам пишу сейчас физический движок):

Главная идея: Каждый объект иерархии графической трассировки будет включать в себя спрайт, в который будет идти трассировка и ссылку на нижеследующий в иерархии объект. Также объекты, которые можно так "графически трассировать" будут наследовать указанный ниже интерфейс (или подобный ему):

Код AS3:
	import flash.display.Sprite;
 
	public interface IROPEtrace
	{
		function CONSOLE_trace(otherInf:String = ""):void;
 
		function UPDATE_DRAW():void;		
 
		// TWO METHODS FOR OVERRIDE
		function ROPE_trace(parentROPEtrace:IROPEtrace):void;
		function GRAPH_trace(parentGraphic:Sprite):void;
 
		function CLEAR():void;
 
		function get GTrace():Sprite;
	}
Здесь:
  • CONSOLE_trace выводит информацию об объекте в консоль.
  • UPDATE_DRAW() обновляет графику.
  • ROPE_trace рисует в любой объект из иерархии графической трассировки.
  • GRAPH_trace рисует в любой спрайт.
  • CLEAR чистит свою графику, и вызывает очистку выше по списку отрисовки.
  • get GTrace получает спрайт данного объекта "графической трассировки".
*По-человечески, данный интерфейс надо было делать виртуальным классом и наследовать, но во флеше нету множественного наследования и виртуальных классов.

Пример использования: Класс отрезок. Включает два класса-точки (вектора), и может вызывать функцию и рисует в себе, собственно, сам отрезок. Ещё один пример: класс-тело. Включает в себя отрезки и может дополнительно что-то в себе обозначать.

Что можно добавить: Собственно, добавлю завтра... Функции-трассировщики могут принимать какой-нибудь цвет в качестве параметра. Цвет, который будет выделять данный объект. Для этого всего-навсего надо ввести ещё одну переменную для всех реализаций IROPEtrace.

Добавлено через 4 минуты
Да, забыл сказать, что нижеследующий в иерархии объект схватывается при вызове функций рисования (update_draw), которая по-хорошему должна была бы быть private, но в интерфейсах так нельзя.

И вообще, функция не понадобилась бы, если бы можно было сделать перегрузку... Я её, собственно, сделал для нескольких других классов, но там очень уж извращённо выходит. Использую в крайнем случаи.

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

Регистрация: Apr 2006
Сообщений: 165
Отправить сообщение для artfabrique с помощью ICQ
Спасибо большое, натолкнули на одну мысль!
__________________
To beer or no to beer?
That is the question...

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.