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

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

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

Регистрация: Mar 2010
Сообщений: 51
По умолчанию Как сделать обычную кнопку?

Я знаю про методики типа создания Sprite, и прикручивания всего нужного для имитации кнопки к нему, но я нашёл такой метод в интернете:
Код AS3:
import mx.controls.button;
private var asButton:Button = new Button();
asButton.x = 100;
asButton.y = 100;
asButton.id="actionscriptButton";
asButton.label = "ActionScript 3 Button";
addChild(asButton);
он у меня почему-то не работает. Как вообще можно чисто программным способом создать кнопку? Я работаю в FlashDevelop, c flex_sdk_4.1. Наверняка ведь есть способ сделать обычную простую кнопку с текстом, без всяких докручиваний Sprite.

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Кнопка с текстом? Это Sprite, содержащий в себе SimpleButton с TextField сверху, у которого свойство selectable (так же его зовут?) поставлено в false. Я так давно нафигачил свой класс на основе своей кнопки.
__________________
тут я

Старый 30.11.2010, 21:07
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Проще простого.
Код AS3:
var button:Button = new Button();
button.label = "Actionscript 3 Button";
button.addEventListener(ComponentEvent.BUTTON_DOWN, buttonClicked);
Работает как часы.

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

Регистрация: Mar 2010
Сообщений: 51
Цитата:
Сообщение от goodguy Посмотреть сообщение
Проще простого.
Код AS3:
var button:Button = new Button();
button.label = "Actionscript 3 Button";
button.addEventListener(ComponentEvent.BUTTON_DOWN, buttonClicked);
Работает как часы.
Access of undefined property ComponentEvent.

Добавлено через 49 секунд
Цитата:
Сообщение от КорДум Посмотреть сообщение
Кнопка с текстом? Это Sprite, содержащий в себе SimpleButton с TextField сверху, у которого свойство selectable (так же его зовут?) поставлено в false. Я так давно нафигачил свой класс на основе своей кнопки.
Мда, ну это ведь тоже изврат, стандартной кнопки для использования из ActionScript нет нормальной?

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
Сообщение от XDiaBLo Посмотреть сообщение
Мда, ну это ведь тоже изврат
Ну че изврат сразу. У меня например тоже класс кнопки есть.

Называется скромно и со вкусом: UniversalButton. (Вообще типа универсальный батон, но можно и как космический читать кому как приятнее)
На самом деле является не кнопкой, а оберткой вида кнопки на любой DisplayObject.

Делается примерно так(это конструктор):
Код AS3:
UniversalButton(_source:DisplayObject = null, _simple:Boolean = false, _clickFunc:Function = null, _inactiveColor:int = 0x000000, _activeColor:int = 0xffffff)
в качестве сорса принимает любой DO сразу же на него навешивает всякие там "по наведению", "по клику" и прочее, если в этом сорце находит текстфилд с именем "title" - то работает с ним как с тайтлом. Если находит мувиклип двухкадровый с именем "icon" - то соответственно понимает что это икон.

имеет статусы активная/неактивная. татлу меняет цвет (берет из конструктора), а иконке переключает кадр (первый неактивный, второй активный)

_simple - это значит что простая кнопка, без тайтла и без иконки (влияет на эффекты при наведении и клике).

По клику вызывает функцию указанную в конструкторе, в качестве параметра в которую передает свой идентификатор.

В работе сей неказистый класс на 80 строк зарекомендовал себя отлично. И минус стопицот геморроя в отличии от работы со стандартными кнопками.

Старый 15.05.2011, 01:45
sikha вне форума Посмотреть профиль Отправить личное сообщение для sikha Найти все сообщения от sikha
  № 6  
Ответить с цитированием
sikha

Регистрация: May 2011
Адрес: Саратов
Сообщений: 16
Цитата:
Сообщение от XDiaBLo Посмотреть сообщение
Access of undefined property ComponentEvent.

Добавлено через 49 секунд

Мда, ну это ведь тоже изврат, стандартной кнопки для использования из ActionScript нет нормальной?
А у меня вот не работает и даже с import'ом !(((

Добавлено через 54 секунды
еще в силу кнопок! Тоже есть такая вопрос как создать кнопку программно! может кто-то поделится своим классом для кнопки???
у меня вот такой код есть
Код AS3:
	package 
{
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.display.*;
 
 
	public class Main  extends Sprite
	{
 
 
 
		public function Main():void 
		{
			var bt:SimpleButton = new SimpleButton();
			addChild(bt);
			bt.addEventListener(MouseEvent.CLICK, btClick);
		}
 
 
 
	public function btClick():void {
				trace("But clicked");
			}
 
	}
 
}
но ни капельки не работает (((

Старый 30.11.2010, 21:48
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 7  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Access of undefined property ComponentEvent.
Код AS3:
import fl.events.ComponentEvent;

Старый 30.11.2010, 21:52
Anton Riot вне форума Посмотреть профиль Отправить личное сообщение для Anton Riot Посетить домашнюю страницу Anton Riot Найти все сообщения от Anton Riot
  № 8  
Ответить с цитированием
Anton Riot

Регистрация: Sep 2008
Адрес: Москва
Сообщений: 291
Отправить сообщение для Anton Riot с помощью ICQ
стандартная кнопка есть в стандартных компонентах. Кроме этого, в них ещё много чего стандартного

Старый 01.12.2010, 09:49
XDiaBLo вне форума Посмотреть профиль Отправить личное сообщение для XDiaBLo Найти все сообщения от XDiaBLo
  № 9  
Ответить с цитированием
XDiaBLo

Регистрация: Mar 2010
Сообщений: 51
Цитата:
Сообщение от Anton Riot Посмотреть сообщение
стандартная кнопка есть в стандартных компонентах. Кроме этого, в них ещё много чего стандартного
)) Под стандартными компонентами вы поди имеете в виду накидать кнопок из панельки сбоку у Adobe Flash CS? Я его не использую А во FlashDevelop программно создать, гемморой целый.

З.Ы. Я вечером ещё раз гляну всё что тут написали, но пока я скажу, что вчера вечером взял VKButton из АПИ вк онтакте, и переделал как нужно. Эта кнопка конечно странная малость, я ещё поработаю над ней, но более менее работает, сделана на основе SimpleButton. В принципе раз я делаю приложение для Вк онтакте, то ничего страшного что дёрну пару заготовок из их же корявых примеров. Лишь бы работало как следует.

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Мда, ну это ведь тоже изврат, стандартной кнопки для использования из ActionScript нет нормальной?
Есть стандартная своя кнопка
__________________
тут я

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

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

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


 


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


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