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

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

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

Регистрация: Nov 2004
Адрес: Кстово
Сообщений: 54
По умолчанию Слежение за глобальной переменной

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

Старый 23.12.2011, 16:37
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Пусть этот мувик шлет событие щелчка по нему. И по щелчку запускается цикл, изменяющий другие мувики.
Глобальная переменная - не верное решение. Настанет момент, когда какой-то мувик ее изменит, и не понятно будет какой и в какой момент. Вот тогда настанет полнейшая задница

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
попробуйте binding, хорошая вещь

Код AS3:
public class Movie1
{		
	[Bindable] public var size:Number;
}

Код AS3:
import mx.binding.utils.BindingUtils;
public class Movie2
{
        private var _size:Number;
        private var movie1:Movie1;
 
        public function GameModel1() 
	{
                BindingUtils.bindProperty(this, "_size", movie1, "size");
         }
}
или можно привязать хендлер (BindingUtils.bindSetter), который будет срабатывать при изменении св-ва, а там уже можно менять как угодно свое значение

BindingUtils можно взять из swc флекса

но для этого варианта нужно чтобы ссылка была у всех на всех, что, видимо, не очень хорошо
__________________
low +


Последний раз редактировалось Jewelz; 23.12.2011 в 17:40.
Старый 23.12.2011, 17:32
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 4  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Код AS3:
попробуйте binding, хорошая вещь
Как сказать...
__________________
http://www.chessmax.ru

Старый 23.12.2011, 17:49
Ja-Ja вне форума Посмотреть профиль Отправить личное сообщение для Ja-Ja Найти все сообщения от Ja-Ja
  № 5  
Ответить с цитированием
Ja-Ja

Регистрация: Nov 2004
Адрес: Кстово
Сообщений: 54
Пробую сделать по первому способу через цикл.... в as2 был очень удобный оператор преобразующий тип строку в movieclip - eval. Что то есть подобное в as3?

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Чур меня, чур из строк мувики клепать. Хотите переменную - нет проблем. Создаете сеттер. При изменении свойства, изменяете предыдущий (если есть или соответствует условию) выбранный элемент(ы), присваиваете новое значение и изменяете новый элемент. Все по индексу.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 23.12.2011, 17:55
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 7  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Одна тема, один вопрос.
__________________
http://www.chessmax.ru

Старый 23.12.2011, 18:16
Ja-Ja вне форума Посмотреть профиль Отправить личное сообщение для Ja-Ja Найти все сообщения от Ja-Ja
  № 8  
Ответить с цитированием
Ja-Ja

Регистрация: Nov 2004
Адрес: Кстово
Сообщений: 54
Спасибо всем я разобрался! В общем нужно переходить на написания не кадры. ОЧень непривычно для меня.

Старый 24.12.2011, 03:07
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Jewelz Посмотреть сообщение
попробуйте binding, хорошая вещь
Код AS3:
BindingUtils.bindProperty(this, "_size", movie1, "size");
И тут пришел рефакторинг. Все литералы теперь рефакторим глазками. А поиск по Ctrl+G теперь не работает.

Нужно помнить, что если предполагаете удаление this, необходимо использовать параметр useWeakReference установленным в true. Иначе он (this) останется живым через ссылку в ChangeWatcher, который, соответственно останется в листенером в цепочке других ChangeWatcher, заканчивая листенером последнего экземпляра ChangeWatcher в chain(в зависимости от chain, см. доку к bindProperty).
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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