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

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

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

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Так, мне кажется лучше.
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	public class Cbutton extends MovieClip {
		private var _mcButton:mcButton=new mcButton  ;
                       //Здесь из библиотеки можно вытащить другой клип.
		private var _mcButton1:mcButton1=new mcButton1  ;
		public function Cbutton():void {
			// constructor code
			fButtonCreate(_mcButton,100,100);
			fButtonCreate(_mcButton1,200,100);
 
		}
                   private function fButtonCreate(But:MovieClip,x:int,y:int):void {
			addChild(But);
			But.stop();
			But.x=x;
			But.y=y;
			this.addEventListener(MouseEvent.MOUSE_OVER, fMouseEvent);
			this.addEventListener(MouseEvent.MOUSE_OUT, fMouseEvent);
			this.addEventListener(MouseEvent.MOUSE_DOWN, fMouseEvent);
			this.addEventListener(MouseEvent.MOUSE_UP, fMouseEvent);
		}
		private function fMouseEvent(event:MouseEvent):void {
			switch (event.type) {
				case MouseEvent.MOUSE_OVER :
					event.target.gotoAndStop(2);
					break;
				case MouseEvent.MOUSE_OUT :
					event.target.gotoAndStop(1);
					break;
				case MouseEvent.MOUSE_DOWN :
					event.target.gotoAndStop(3);
					break;
				case MouseEvent.MOUSE_UP :
					event.target.gotoAndStop(2);
					break;
			}
		}
	}
}
Вложения
Тип файла: rar Button.rar (9.1 Кб, 18 просмотров)
__________________
Книги и желание лучшие учителя.


Последний раз редактировалось Vektor; 13.11.2011 в 15:22.
Старый 13.11.2011, 14:34
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 52  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от strangedk Посмотреть сообщение
За то минусы в доступе к instance, видите вон как человек голову ломал))

Простите, а зачем использовать stage?
Кто бы рассказал, как добиться нормального поведения кнопки без stage, например вот этой:
https://github.com/minimalcomps/mini.../PushButton.as

Старый 13.11.2011, 14:41
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 53  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
expl, убрать строчки, содержащие stage, в onMouseOut первой строкой вставить onMouseGoUp(null) =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
В кошерной кнопке аут и ап вообще-то разные))) Ап соответствует овер (когда кнопку мыши отпускают над кнопкой, мышь вроде как находится над кнопкой, не?) А вот когда мышь нажали, но увели с кнопки, отображается аут и ап вообще не должен ловиться и обрабатываться - юзер явно передумал делать клик. Поэтому, зачем кнопке стейдж, я так и не понял.
__________________
Reality.getBounds(this);

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

Регистрация: Oct 2011
Сообщений: 46
Vektor я уже тут на принцип пошёл и захотел разобраться как делают люди (с использованием Sprite), с мувиклип я бы без заморочек прям на сцене всё нарисовал и слепил бы в один мувик(как делал в большинстве случаев).

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

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Sprite тот же MovieClip только без кадров.
__________________
Книги и желание лучшие учителя.

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

Регистрация: Oct 2011
Сообщений: 46
ну да, когда с мувиком всё понятно и вроде проще, но все говорят что спрайт это правильно, интересно узнать почему и как оно делается. Да и я кажется понял наконец как сделать "дубляж" нажатия кнопки при нажатии ентера в текстовом поле (эту тему я поднимал, но так и не разобрался). Вроде как достаточно включить buttonMode и выделять в фокус кнопку. С simpleButton этого сделать мне не удалось. Еще не проверял, но документация говорит что должно работать =)


Последний раз редактировалось noobuser; 13.11.2011 в 16:05.
Старый 13.11.2011, 15:47
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 58  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Кто бы рассказал, как добиться нормального поведения кнопки без stage, например вот этой:
Когда кнопке требуется stage, он у нее гарантированно есть.

Добавлено через 2 минуты
Цитата:
Сообщение от Wolsh Посмотреть сообщение
А вот когда мышь нажали, но увели с кнопки, отображается аут и ап вообще не должен ловиться и обрабатываться - юзер явно передумал делать клик. Поэтому, зачем кнопке стейдж, я так и не понял.
Не совсем, юзер может и вернуть указатель на кнопку. Обычное поведение при этом, прореагировать как будто указатель и не убирали.
__________________
משיח לא בא
משיח גם לא מטלפן


Последний раз редактировалось alatar; 13.11.2011 в 15:54.
Старый 13.11.2011, 16:18
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 59  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Не совсем, юзер может и вернуть указатель на кнопку. Обычное поведение при этом, прореагировать как будто указатель и не убирали.
Да без проблем))
Код AS3:
private function handlerOver(event:MouseEvent):void 
{
	if (event.buttonDown)
	{
		handlerDown(null);
		return;
	}
	_upState.visible = false;
	_overState.visible = true;
	_downState.visible = false;
}
__________________
Reality.getBounds(this);

Старый 13.11.2011, 16:57
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 60  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Да без проблем))
Нажали в левом месте, перевели курсор на кнопку, отпустили... проблема.
__________________
משיח לא בא
משיח גם לא מטלפן

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

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

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


 


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


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