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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.06.2011, 18:04
zxcv вне форума Посмотреть профиль Отправить личное сообщение для zxcv Найти все сообщения от zxcv
  № 31  
Ответить с цитированием
zxcv
 
Аватар для zxcv

Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
О, премного благодарен! )

Старый 10.06.2011, 18:05
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 32  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Ну я не имею в виду сам SimpleButton Просто в 2 раза легче было бы написать свой батон с блэкджеком и распущенными девицами, чем впихивать все это в кривой симплбатон
Я три страницы темы это говорил =)
__________________
тут я

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

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Ну человеку надо ж было помочь
__________________
Кодинг, багинг, алгоритминг. me @

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Хорошо, напишу и тут:
пишите свою кнопку и не будет никаких проблем!

Да, нужно прекращать флудить - наругаются =)
__________________
тут я

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

Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
так а как ее писать? ) создавать свой мувиклип с четырьмя кадрами, цеплять к нему класс-наследник от мувиклипа и т.п.?

Старый 10.06.2011, 18:22
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 36  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Цитата:
Сообщение от zxcv Посмотреть сообщение
так а как ее писать? ) создавать свой мувиклип с четырьмя кадрами, цеплять к нему класс-наследник от мувиклипа и т.п.?
Конечно.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 10.06.2011, 18:25
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 37  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Фу. Сделайте спрайт и стейты меняйте по событиям.
__________________
тут я

Старый 10.06.2011, 18:35
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 38  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Ну кому что, короче. Главное от симплбатона избавьтесь.
__________________
Кодинг, багинг, алгоритминг. me @

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

Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
В общем я попробовал создать свою кнопку. Тут по ходу пьесы еще выяснилось, што необходимо наличие затяжного нажатия, так сказать, что в основном меня и спровоцировало перейти к мувиклипу. Вот мои попытки:

создал MovieClip с тремя ключевыми кадрами (так сказать upState, начало downState и окончание downState), причем кадры пустые.
создал класс MyButton:
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.display.Bitmap;
	import flash.net.URLRequest;
	import flash.display.LoaderInfo;	
 
	public class MyButton extends MovieClip 
	{
		public var upState:Bitmap;
		public var downState:Bitmap;
		public var currState:Bitmap;
 
		public function MyButton(_upState:Bitmap, _downState:Bitmap) 
		{
			upState = _upState;
			downState = _downState;
			currState = upState;
 
			gotoAndStop(1);
			addChild(currState);
		}
 
		public function pressed()
		{
			gotoAndStop(2);
			removeChild(currState);
			currState = downState;
			addChild(currState);
			play();
		}
 
		public function unpressed()
		{
			gotoAndStop(1);
			removeChild(currState);
			currState = upState;
			addChild(currState);
		}
 
	}
 
}
тут, в принципе, можно убрать currState, походу... ну эт ладно )

в основном классе пишу:

Код AS3:
package my
{
//всякие импорты
	public class Main extends MovieClip
	{
		//всякие переменные )
		var button_up:Loader = new Loader();
		var button_down:Loader = new Loader();
		var up : Boolean = false;
		var down : Boolean = false;
		var btn : MyButton;
 
		public function Main()
		{
			button_up.contentLoaderInfo.addEventListener(Event.COMPLETE, compUp);
			button_up.load(new URLRequest("C:\\images\\back_up.png"));
			button_down.contentLoaderInfo.addEventListener(Event.COMPLETE, compDown);
			button_down.load(new URLRequest("C:\\images\\back_down.png"));
		}
 
		function compUp(event:Event)
		{
			trace("!!");
			up = true;
			if (up && down)
			{
				btn = new MyButton(Bitmap(button_up.content), Bitmap(button_down.content));
				addChild(btn);
				btn.addEventListener(MouseEvent.CLICK, my);
			}
		}
 
 
		function compDown(event:Event)
		{
			trace("@@");
			down = true;
			if (up && down)
			{
				btn = new MyButton(Bitmap(button_up.content), Bitmap(button_down.content));
				addChild(btn);
				btn.addEventListener(MouseEvent.CLICK, my);
			}
		}
 
 
		function my(event:MouseEvent)
		{
			btn.pressed();
			//всякий код )
		}
	}
}
и в последнем третьем ключевом кадре моей кнопки я вызываю unpressed();
В принципе, все вроде работает как надо, но понимаю, што сделано через *опу )
так вот, может кто-нибудь што-нибудь присоветовать ценного? ) в частности, как в моем случае избавиться от кода в кадре? )


Последний раз редактировалось zxcv; 20.06.2011 в 12:36.
Старый 21.06.2011, 12:45
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 40  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Нет, у вас сам подход неверный (хотя его можно допилить, но лучше сделать сразу, как надо). Смысл такой: мы передаем в конструктор кнопки хэш/по отдельности каждый стейт/словарь, все, что надо, словом. Стейт с нажатием у вас будет либо отдельным спрайтом со своими контроллером анимации, либо отдельным мувиклипом со stop() в конце - я бы выбрал первый вариант, ибо давно уже к FlashIDE не прикасаюсь вообще, предпочитая писать на чистом as3.
Теперь сама кнопка. Сначала мы создаем upState, по наведению мы удаляем вообще upState, на его место приходит overState. Он создается с нуля, так же, как и downState. Удяляются стейты тоже с концами, то есть со всеми отписками, занулениями. Вот так, все просто.
__________________
тут я

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

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

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


 


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


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