![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
главная часть любого инструмента - это голова его владельца.
![]() |
|
|||||
|
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
Просто «не багом единым», как говорится...
__________________
To beer or no to beer? That is the question... |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 137
|
Могу поделиться своим решением (сам пишу сейчас физический движок):
Главная идея: Каждый объект иерархии графической трассировки будет включать в себя спрайт, в который будет идти трассировка и ссылку на нижеследующий в иерархии объект. Также объекты, которые можно так "графически трассировать" будут наследовать указанный ниже интерфейс (или подобный ему): 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; }
Пример использования: Класс отрезок. Включает два класса-точки (вектора), и может вызывать функцию и рисует в себе, собственно, сам отрезок. Ещё один пример: класс-тело. Включает в себя отрезки и может дополнительно что-то в себе обозначать. Что можно добавить: Собственно, добавлю завтра... Функции-трассировщики могут принимать какой-нибудь цвет в качестве параметра. Цвет, который будет выделять данный объект. Для этого всего-навсего надо ввести ещё одну переменную для всех реализаций IROPEtrace. Добавлено через 4 минуты Да, забыл сказать, что нижеследующий в иерархии объект схватывается при вызове функций рисования (update_draw), которая по-хорошему должна была бы быть private, но в интерфейсах так нельзя. И вообще, функция не понадобилась бы, если бы можно было сделать перегрузку... Я её, собственно, сделал для нескольких других классов, но там очень уж извращённо выходит. Использую в крайнем случаи. |
|
|||||
|
Спасибо большое, натолкнули на одну мысль!
__________________
To beer or no to beer? That is the question... |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|