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

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

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

Регистрация: Mar 2006
Сообщений: 17
По умолчанию Другие основы AS3

Спасибо всем за уроки и статьи, везде вроде всё понятно, но все как-то описывают одно направление - программное рисование, движение и т.п.
А у меня другая простая задача:
1. Т.к. рута как такового не осталось, как объявить общую переменную и потом как к ней обратиться из рзных мест?
2. Как работать с SimpleButton? Как описать обычные события? Наведение, нажатие, отпускание? Неужели для каждой кнопки нужно создавать свой *.as?
Вобщем хотел бы для примера реализовать такую задачу:
На сцене к примеру 5 кнопок but1, but2 и т.д. и одна кнопка getresult.
При нажатии на одну из пяти устанавливается глобалная переменная в своё значение. А при нажатии на getresult делать к примеру trace этого значения.
Кто чем поможет?

Старый 26.11.2007, 12:39
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 2  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Во первых, Вам точно нужен АС3? а АС3 есть еще Runtime Exceptions.

1. Уже обсуждалось так что в поиск

2. В хелп - в справке по этому классу в самом вверху есть пример как использовать без создания класса.


Последний раз редактировалось 7thsky™; 26.11.2007 в 12:41.
Старый 26.11.2007, 13:20
biosid вне форума Посмотреть профиль Отправить личное сообщение для biosid Найти все сообщения от biosid
  № 3  
Ответить с цитированием
biosid

Регистрация: Mar 2006
Сообщений: 17
Конечно мне нужен AS3.
Хорошо, по глобальным посомтрим, но SimpleButton в примере немного не то описывает. Или может я не так выразился. Кнопки я не программно рисовать хочу, а ручками (как раньше) и потом тамописывают upSprite и т.д. а я хочу понять про upFunction

Старый 27.11.2007, 10:37
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 4  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
ну так и рисуй ручками, во флэше, в чем проблема? создаешь кнопку на таймлайне (лучше две), задаешь имя инстанса, например btn1 и btn2, во фрэйме пишешь

Код:
btn1.addEventListener (MouseEvent.CLICK,
	btnClickHandler, false, 0, true);

btn2.addEventListener (MouseEvent.CLICK,
	btnClickHandler, false, 0, true);

function btnClickHandler (evt:MouseEvent):void {
	var index:int = parseInt (evt.target.name.slice (3));
	
	Global.getInstance ().selectedSection = index;
}
код класса Global
Код:
package {
	
	import flash.events.*;
	
	public class Global 
	extends EventDispatcher {
		
		public static const SELECTED_SECTION_CHANGED:String = 'selectedSectionChanged';
		
		private var _selectedSection:int = -1;
		
		public function Global () {
		}
		
		public function get selectedSection ():int {
			return _selectedSection;
		}
		
		public function set selectedSection (value:int):void {
			if (_selectedSection != value) {
				_selectedSection = value;
				
				trace ('selectedSection: ' + value);
				dispatchEvent (new Event (SELECTED_SECTION_CHANGED));
			} // end if
		}
		
		private static var instance:Global = null;
		public static function getInstance ():Global {
			if (instance == null) {
				instance = new Global ();
			} // end if
			return instance;
		}
	}
}
в любом другом месте пишешь
Код:
Global.getInstance ().addEventListener (Global.SELECTED_SECTION_CHANGED, selectedSectionChangedHandler, false, 0, true);

function selectedSectionChangedHandler (evt:Event):void {
// тут реагируй на изменение как твоей душе угодно
}


Последний раз редактировалось 7thsky™; 27.11.2007 в 10:39.
Старый 27.11.2007, 12:23
biosid вне форума Посмотреть профиль Отправить личное сообщение для biosid Найти все сообщения от biosid
  № 5  
Ответить с цитированием
biosid

Регистрация: Mar 2006
Сообщений: 17
Спаибо! Чуть позже почитаю, разберусь.
Но меня волнует ещё то, что одни пишут "забываем писать код в кадрах", а другие вот так.

Старый 27.11.2007, 13:21
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 6  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
А не надо быть ортодоксом, код в кадрах - это грех?! По мне так все зависит от проекта, большой проект, много кода, действительно грех.
Маленький проект? почему бы и нет если проект такой что быстро сделал и забыл?

Потом не все сразу могут перейти от парадигмы что весь код в кадрах, на - все в классах, все супер пупер заООПено, вариант с заменной _global на класс Global в которым ты декларируешь все общие переменные, сам по себе не плох и прост (и по сущности похожь на модель аппликации, что уже совсем не плохо для начала)

Старый 27.11.2007, 17:00
biosid вне форума Посмотреть профиль Отправить личное сообщение для biosid Найти все сообщения от biosid
  № 7  
Ответить с цитированием
biosid

Регистрация: Mar 2006
Сообщений: 17
Блин, да это ж не конечная задача! Я просто на примере хотел понять.
Я знаю как в кадрах это решается...

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

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

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


 


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


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