Альтернативы сопрограммам

Этот пример был использован в другом вопросе, чтобы проиллюстрировать, как сопрограммы могут использоваться для создания сценариев кат-сцен в видеоигре:

bob.walkto(jane)
bob.lookat(jane)
bob.say("How are you?")
wait(2)
jane.say("Fine")
...

Каждая функция подчиняется основному движку, который выполняет анимацию, синхронизацию и т. д. .перед возобновлением сопрограммы. Возможной альтернативой сопрограммам могла бы быть очередь событий вместо кода, но тогда нужно реализовать логику управления и циклы как события. Существуют ли другие альтернативы сопрограммам, которые можно использовать для реализации такого рода функций ? Я видел обратные вызовы, упомянутые в некоторых статьях, но я не уверен, как будет выглядеть код.

8
задан absence 16 March 2011 в 11:14
поделиться