Показать сообщение отдельно
Старый 17.02.2013, 05:49
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Потому что у Вас ответственности не распределены между функциями.
addBall у Вас не шарик добавляет, как заявлено в названии, а проверяет прошедшее время И добавляет шарик. А onLoop делает addBall на каждый кадр, хотя в Вашем же задании сказано — раз в три секунды.
Вы можете сказать — "Да какая разница, как я назвала функции". Язык потому и "язык", что через слова выражается логика. Поместите проверку времени в onLoop. На каждый кадр Вы проверяете, сколько прошло времени — логично? Если прошло 3 секунды, вызываете addBall — логично? В addBall просто добавляете новый шарик. А чтобы первый шарик появлялся сразу, вызываете addBall в конструкторе, и потом начинаете слушать ентерфрейм.

Но сам по себе способ использовать getTimer конечно неудачный. В таком приложении логика требует просто задать интервал, через который совершается действие. А getTimer нужен для другого, для измерения прошедшего времени.
__________________
Reality.getBounds(this);