【发布时间】:2017-05-11 16:29:24
【问题描述】:
在许多语言中,您可以执行以下操作:
while true:
handle events like keyboard input
update game world
draw screen
(optional: delay execution)
虽然这远非最佳,但对于简单的游戏来说应该足够了。
您如何在 Squeak Smalltalk 中做到这一点?
我可以读取键盘输入并按照wiki.squeak.org 中的说明对其做出反应。但是,如果我尝试执行类似
1 to: 10 do: [ :i | game updateAndDraw ]
所有事件仅在循环执行后处理。
【问题讨论】:
-
您可以查看以 Morphic 实现的游戏示例,确保您能找到其中的几个。我认为一种常见的简单化方法是为游戏设置一个 Morph,它处理键盘事件(在模型中进行更改),然后 #updateAndDraw 根据模型的当前状态(位置演员,可见的状态指示等)
-
即使没有输入,我也需要让游戏不断更新。你会如何在你的方法中做到这一点?