Показать сообщение отдельно
Старый 15.08.2014, 19:31
PsychoTech вне форума Посмотреть профиль Отправить личное сообщение для PsychoTech Найти все сообщения от PsychoTech
  № 3  
Ответить с цитированием
PsychoTech
 
Аватар для PsychoTech

Регистрация: Aug 2014
Адрес: Где-то на поверхности планеты, какой хз
Сообщений: 113
нет клик навешивается в основном классе где описывается весь класс, который уже вызывается в родителе. Получается что класс описывает все что должен делать каждый экземпляр. Проще говоря поведение описано в классе и экземпляр слушается как должен, но только 1 тот на котором щелкнули а остальные не реагируют. Вот мне нужно чтобы все отзывались дружно. Толкнул одного остальные тоже подвинулись. Раньше это было двигались, но не останавливались. Когда я исправил и сделал остановку другие почему-то перестали синхронизироваться. Я добавил пару переменных, и их тоже в синхрон передал. такое впечатление что они тупо перестали слушаться булевы движения.
То есть в классе есть булева переменная которая ложна по умолчанию. В синхроне как только появляется правда все остальные экземпляры тоже получают правду и по идеи должны начать движение. сейчас приведу код синхронизации

Код AS3:
if (arr_icon[controlRoll].Moving) {
 
				arr_icon[0].Moving = arr_icon[controlRoll].Moving; 
				arr_icon[1].Moving = arr_icon[controlRoll].Moving; 
				arr_icon[2].Moving = arr_icon[controlRoll].Moving; 
				arr_icon[3].Moving = arr_icon[controlRoll].Moving; 
				arr_icon[4].Moving = arr_icon[controlRoll].Moving;
				arr_icon[0].LRDirect = arr_icon[controlRoll].LRDirect; 
				arr_icon[1].LRDirect = arr_icon[controlRoll].LRDirect; 
				arr_icon[2].LRDirect = arr_icon[controlRoll].LRDirect; 
				arr_icon[3].LRDirect = arr_icon[controlRoll].LRDirect; 
				arr_icon[4].LRDirect = arr_icon[controlRoll].LRDirect;
				arr_icon[0].anglerot = arr_icon[controlRoll].anglerot; 
				arr_icon[1].anglerot = arr_icon[controlRoll].anglerot; 
				arr_icon[2].anglerot = arr_icon[controlRoll].anglerot; 
				arr_icon[3].anglerot = arr_icon[controlRoll].anglerot; 
				arr_icon[4].anglerot = arr_icon[controlRoll].anglerot;
 
			}else {
				arr_icon[0].Moving = false; 
				arr_icon[1].Moving = false; 
				arr_icon[2].Moving = false; 
				arr_icon[3].Moving = false; 
				arr_icon[4].Moving = false;
			}
arr_icon - как наверно догадались - массив в котором все экземпляры храняться
Moving - булева переменная двигаться или нет
LRDirect - переменная цифровая отвечающая за направление движения
anglerot - это угол проще говоря расстояние на которое они должны сместиться.
вот в общем anglerot добавил чтобы они не двигались бесконечно и соответствено передаю его остальным ибо он определяется в том экземпляре на котором кликнули. Еще раз повторюсь без последней модификации все двигалось просто была ошибка для устранения которой добавил переменную.