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

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

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

Регистрация: Mar 2013
Сообщений: 4
Question Пользовательский класс

Пытался создать свой класс кнопки, но туплю походу где-то, подскажите чтиво полезное по этому вопросу (подобного обсуждения на форуме не нашел к сожалению, гугл тоже какую то хрень показывает).

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

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

Старый 25.03.2013, 21:22
ZicoRio вне форума Посмотреть профиль Отправить личное сообщение для ZicoRio Найти все сообщения от ZicoRio
  № 3  
Ответить с цитированием
ZicoRio

Регистрация: Apr 2012
Адрес: ifinterface.com
Сообщений: 158
Похоже вам нужно разобраться что есть ООП и как с ним быть.
Создать, в данном случае кнопку, можно разными подходами.
Например можно создать класс - где в нем будет рисоваться кнопка, например при создании объекта
на основе этого класса, а после извне добавить этот объект в список отображения.
А можно накидать в класс статических методов для отрисовки кнопки и один из методов
будет отдавать уже объект кнопки.
Но сначала разберитесь с тем, что я написал в первой строчке, без этого никак.

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
да уж, вы бы вопрос хотя бы конкретно сформулировали)) а то класс кнопки может быть разным))
вот самый простой класс кнопки
тут класс екстендится как мувик с названием Button_in_library, который лежит непосредственно в библиотеке fla файла

Код AS3:
package  {
	import flash.events.Event;
	import flash.events.MouseEvent;
 
 
	public class myButt extends Button_in_library {
 
 
		public function myButt() {
			this.useHandCursor = true;
			this.buttonMode = true;
			this.addEventListener(Event.ADDED_TO_STAGE, addThis);
			this.addEventListener(MouseEvent.CLICK, thisHand);
			this.addEventListener(MouseEvent.MOUSE_OVER, thisHand);
			this.addEventListener(MouseEvent.MOUSE_OUT, thisHand);
		}
 
		private function addThis(e:Event):void {
			this.gotoAndStop(1);
			}
 
		private function thisHand(e:MouseEvent):void {
			if(e.type == 'click') {
				trace('hello, im click');
				}
			if(e.type == 'mouseOver') {
				trace('hello, im Over');
				}
			if(e.type == 'mouseOut') {
				trace('hello, im Out');
				}
			}
 
	}
 
}
__________________
while(live()) { hope(); }

Старый 25.03.2013, 21:45
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 5  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
ZergMaster, плохой пример.
__________________
hauts.ru

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
ZergMaster, плохой пример.
Чем ?
__________________
Марк Tween

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Чем ?
Хотя бы тем, что абсолютно не соответствует конвенциям

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

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

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Не, ну причесать-то данный класс можно (хотя он мне и не нравится). Только все равно не понятно, что ТС-то нужно было.

Код AS3:
package  
{
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	public class MyButt extends Button_in_library 
	{
 
		public function MyButt() 
		{
			addEventListener(Event.ADDED_TO_STAGE, addThis);
		}
 
		private function addThis(e:Event) : void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, addThis);
 
			gotoAndStop(1);
 
			useHandCursor = true;
			buttonMode = true;
 
			addEventListener(MouseEvent.CLICK, thisHand, false, 0, true);
			addEventListener(MouseEvent.MOUSE_OVER, thisHand, false, 0, true);
			addEventListener(MouseEvent.MOUSE_OUT, thisHand, false, 0, true);
 
		}
 
		private function thisHand(e:MouseEvent) : void 
		{
			switch (e.type)
			{
				case MouseEvent.CLICK : 	
								trace('hello, im click');
								break;
 
				case MouseEvent.MOUSE_OVER : 	
								trace('hello, im Over');
								break;
 
				case MouseEvent.MOUSE_OUT : 	
								trace('hello, im Out');
								break;								
			}
 
		}
 
	}
 
}

Кстати, мне кажется, наследоваться от класса из библиотеки - это неудобно и вообще непонятно, зачем.


Последний раз редактировалось mikhailk; 26.03.2013 в 00:12.
Старый 26.03.2013, 00:26
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
наследоваться от класса из библиотеки - это неудобно и вообще непонятно, зачем.
Так приходится делать для переопределения. Смотри, например у тебя все кнопки в приложении принадлежат классу SuperButton , и ты создавая их в IDE кастуешь к нему, это понятно. Однако в какой то момент, ты понимаешь, что не все кнопки одинаково себя ведут, есть 5% отщепенцев. Но их поведение такое же, как и у остальных, свойства немного разные, например цвет текста при наведении меняется. Так вот создаешь обертку с переопределенным хендлером.

Цитата:
Хотя бы тем, что абсолютно не соответствует конвенциям
Причем тут конвенции ? ТС задал вопрос о конвенциях, или о том , как профессиональнее писать MouseEvent.CLICK или "click" ? Нет ? А пример вполне рабочий, ошибок нет, чупакаброкодерства тоже, - ну да наплевал на конвенции, бывает xD
__________________
Марк Tween

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

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

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


 


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


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