Ваш код не работает, как вы объяснили. Это работает так:
У вас есть только один шар, и он каждую секунду теряет равновесие, ссылаясь на gameTime1
тик вызывает dropBall (), который делает следующее:
- он заменяет единственный мяч, который у вас есть, на 0, и анимирует его в течение 1,2 секунды до дна.
var ballTween:Tween = new Tween(ball, "y", null, 0, 500, 1.2, true);
- затем счет ++ запускается независимо от движения мяча, потому что он находится в обработчике событий энтерфрейма, и каждый кадр, в который ударяет мяч по тарелке, увеличивает счет
- ВЫ ДОЛЖНЫ ДЕЙСТВИТЕЛЬНО ПОСМОТРЕТЬ В СВОЕМ КОДЕВЕ СНОВА и переосмыслить архитектуру, как, что и когда она должна работать (в основном вам нужно не только знать, что должно делать программное обеспечение, но вам нужно объяснить это программному обеспечению.
UPDATE:
Чтобы узнать, как экспортировать movieclipt int oclass, следуйте инструкциям:
http://www.kirupa.com/developer/flashcs3/movieclips_classes_AS3_pg1.htm
Тогда в вашей логике:
Функция (createBall)
- Создать экземпляр мяча. (если вы следовали учебнику, то знаете, как)
- запустить enterFrame, который проверяет, попал ли мяч в панель или на землю, если он остановил событие enterFrame.
- После остановки определите, что делать в зависимости от того, что попало
Должно выглядеть так:
if ( hitPanel )
{
increaseScrore ()
}
if ( hitFloor )
{
decreaseLive ()
}
- в каждой из этих функций
increase...
и decrease..
после того, как они все сделали, должна быть removeBall
функция, а в increase..
затем вызов createBall
, так что все начинает повторяться.
P.S. Без обид, пожалуйста, но вы можете выучить язык программирования, в этом случае, я вижу, вы немного знаете, но если вам не хватает какой-то логики, вы не найдете ее на форумах ... Прочитайте некоторую основную информацию о логике / архитектуре приложения и т.д ... и, пожалуйста, посмотрите, как нужно обрабатывать экземпляры.
P.S.S. Инвестируйте немного, чтобы узнать, что такое ОФП. ;)
наилучшие пожелания! Счастливых праздников:)