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

Регистрация: Jan 2009
Сообщений: 1,651
Цитата:
Сообщение от Black Soviet Посмотреть сообщение
Wolsh
Да, вы правы, никак.

Поясните только почему
Код AS3:
IPausable(cur).pause();
,а не
Код AS3:
cur.pause();
Потому что cur у меня Sprite, у котого нет функции pause(). Я привожу его к типу IPausable, у котого такая функция есть. А перед этим проверяю, дейсвительно он относится к этому типу. Потому что на сцене могут быть и просто Sprite, которые не анимированы и которых останавливать на паузу смысла нет.

Да, можно обойтись без интерфейса.
Код AS3:
var l:int = scene.numChildren;
while (l--){
  var cur:* = scene.getChildAt(l);
  if (cur.pause) cur.pause();
}
Можно много без чего обойтись. Без private и protected членов класса. Или без сеттеров-геттеров. Все эти финтифлюшки по большому счету для удобства работы в команде и читабельности кода.
__________________
мой пустой блог


Последний раз редактировалось iflamberg; 09.04.2013 в 20:19.