Показать сообщение отдельно
Старый 20.01.2007, 13:50
Makcumka вне форума Посмотреть профиль Отправить личное сообщение для Makcumka Найти все сообщения от Makcumka
  № 1  
Ответить с цитированием
Makcumka
 
Аватар для Makcumka

Регистрация: Jul 2004
Сообщений: 37
Отправить сообщение для Makcumka с помощью ICQ
Attention странная работа gotoAndPlay()

Есть мувик (исходник находится во вложении). Состои из одного кадра. В кадре находятся кнопка и клип field1 (экземпляр клипа Field). Кнопка обрабатывает следующие события:
1. rollOver -> вызывает метод field1.Colored() [field1 должен стать зелёным]
2. rollOut -> вызывет метод field1.unColored() [field1 должен стать белым]
3. press -> вызывает метод field1.Switch() [field1 должен поменять цвет на другой т.е. с белого на зелёный с зелёного на белый]

Смена цвета реализована следующм образом:
Внутри клипа Field есть клип bg_mc (экземпляр клипа Field_bg) содержащий два кадра - на первом кадре изображён белый прямоугольник, на втором кадре изображён зелёный прямоугольник. В обоих кадрах находится скрипт с инструкцией stop();
В единственном кадре клипа Field прописан следующий код
Код:
this.Colored = function() {
	this.bg_mc.gotoAndPlay(2);
}

this.unColored = function() {
	this.bg_mc.gotoAndPlay(1);
}

this.Switch = function() {
	this.bg_mc.play();
}

stop();
При следующей последовательности действий происходит непонятное:
В начальном состоянии field1 белый (всё правильно)
Когда наводишь курсор на кнопку, field1 становиться зелёным (всё правильно)
Когда нажимаешь на кнопку, field1 меняет цвет на белый (всё правильно)
Когда уводишь курсор с кнопки, field1 становиться зелёным, хотя должен оставаться белым!!!
В чём причина парадокса? Люди добрые, подскажите!
Вложения
Тип файла: zip question.zip (1.3 Кб, 12 просмотров)
__________________
...ибо погасить свет проще, чем рассеять тьму...