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

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

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Вот что я имел ввиду. Если бы все было так просто и очевидно... Но по ходу без небольшого костыля - никуда.
Код AS3:
package modules.scrollbar 
{
	import flash.utils.describeType;
	/**
	 * ...
	 * @author TanaTiX - Nikonov Anton
	 */
	public class ScrollerUtil 
	{
		public static const READ_ONLY:String = "readonly";
		public static const WRITE_ONLY:String = "writeonly";
		public static const READ_WRITE:String = "readwrite";
 
 
		public function ScrollerUtil() 
		{
 
		}
 
		public static function checkProperty(target:Object, parameter:String, access:String = READ_WRITE):Boolean {
			var xml:XML = describeType(target);
			if (parameter in target) {
				if (access === READ_ONLY) {
					return true;
				}
				for each(var item:XML in xml.accessor) {
					if (item.@name == parameter) {
 
						if (item.@access === READ_WRITE) {
							return true;
						}
						if (access === WRITE_ONLY && item.@access === access) {
							return true;
						}
						return false;
					}
				}
			}
			return false;
		}
	}
}
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

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

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
GBee, а каким образом в данном случае поможет интерфейс?
Цитата:
Универсальность в какой-то мере до добра не доведет.
Спорить даже не буду, т.к. это моя маленькая маничка. Но я о ней помню и стараюсь контролировать На сколько получилось будет ясно, когда закончу.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Psycho Tiger, есть желание управлять изначально неизвестным свойством объекта. Создаю "скроллер". А вот что в качестве "скроллируемого" значения он будет "кушать" - изменение значения x, y, rotation или someValue - его интересовать не должно.
Цитата:
GBee, а каким образом в данном случае поможет интерфейс?
А объекты, свойства которого скролятся не только ваши? Просто можно прикрутить интерфейс со списком параметров для изменения (включая ограничения по значениям).

Цитата:
Спорить даже не буду, т.к. это моя маленькая маничка. Но я о ней помню и стараюсь контролировать На сколько получилось будет ясно, когда закончу.
Это я не для спора. Удачи по-любому. :о)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от TanaTiX Посмотреть сообщение
Но по ходу без небольшого костыля - никуда.
Это не небольшой, это эпических размеров костыль. Который не только не удобен, но и опасен. Пользуйтесь интерфейсами, это удобно, красиво и понятно всем.

Старый 03.12.2011, 02:20
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 16  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Я лично не очень понял, что Вы хотите в итоге. Но костыль это еще пол беды, вторая половина, это то, что describeType жутко медленный (оно и понятно). Во флексе даже кэш для этой функции есть, я бы не стал использовать ее без явной на это необходимости.
__________________
http://www.chessmax.ru

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
Который не только не удобен, но и опасен. Пользуйтесь интерфейсами, это удобно, красиво и понятно всем.
А можно пример того, когда опасно? И когда с помощью интерфейса это удобно и красиво? Само собой разумеется, я не прошу за меня написать код, мне просто интересны ключевые моменты использования в данном контексте интерфейсов.

Inet_PC, то что медленный - знаю, но с другой стороны на один скролл он будет использоваться только один раз, что я считаю допустимым. Ну и если Bgg (или кто-нибудь другой) предложит достойную альтернативу - буду только рад воспользоваться хорошей идеей.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!


Последний раз редактировалось TanaTiX; 03.12.2011 в 02:24.
Старый 03.12.2011, 13:00
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 18  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
@TanaTiX, это понятно.
Приведи примеры где ты это будешь использовать, чтобы понять, в чем выгода.

Старый 03.12.2011, 13:21
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 19  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
как вариант
myScroller = new MyScroller(target:IScrollable, ...arg)

public interface IScrollable
{
function get height():Number;
function set height(value:Number):void;
......
}
Тоесть объект который вы отдаете скроллеру должен имплементить этот интерфейс, и значит должен иметь сеттер/геттер height например
__________________
мира и гармонии

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
3p.station, Psycho Tiger, хочется немного другого. Хочется не создавать n-е количество разных скроллов (вертикальных, горизонтальных, радиальных и еще хз каких придумает воспаленный мозг). Хочется задать базовый объект (ползунок), его минимальное и максимальное значение и свойство. Т.е. для горизонтального скролла это примерно должно выглядеть так:
Код AS3:
//создание скролла
var horizontalScroll:Scroll = new Scroll(someMovieClip, "x", 100, 250);
//конструктор
public function Scroll(target:DisplayObject, value:String, minValue:Number, maxValue:Number)
Таким образом для того чтоб поменять "направление" скролла, нет необходимости плодить классы, достаточно поменять один атрибут.

А то что касается определения определения наличия свойства - это для защиты от дурака.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

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

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


 


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


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