--------------------------------- 转帖自:http://kidscando.co.nz -----------------------------
在上一课中,我们运行了一个做好的游戏,这节课我们就要来试试自己修改部分游戏代码,来让程序按我们想的来工作。
从上节课的游戏框架中我们解压出来一些文件,对于初级教程来说,我们唯一关心的文件在 Logic/gameController.py
你可以用任何文本编辑器打开gameController.py,其内容如下:
def runIt(screen, smile): screen.blit(smile, (100,50))
是的,内容非常简短,试着改下100或50的数字, 假设我们把它都改成0如下:
def runIt(screen, smile): screen.blit(smile, (0,0))
保存文件再运行 pygame main.py (请确保移动到main.py所在的文件夹,如果你当前在Logic文件夹,请用 cd.. 来移动到上层文件夹), 运行结果:
现在笑脸紧贴左上角窗口了,很好,我们修改了程序,运行结果改变了,修改这2个数,我们可以让图片出现在任何位置。
知识点
def定义了一个叫runIt的子程序,游戏内部会定期运行这个子程序,你所要做的就是修改runIt子程序的内部代码,来告诉游戏引擎你想做什么。
screen.blit(smile,(100,50)) – screen是游戏画板,smile是我们的笑脸图片,blit是游戏画板拥有的贴图功能,(100,50) 代表的是距游戏画板左边框距离100,距离游戏画板上方边框50的位置。
所以它的意思是,在游戏画板上使用贴图功能并贴上笑脸图片,笑脸图片位置距离画板左边框往右偏100,距离画板上方边框往下偏50。
请注意,距离的移动都是以图片的左上角为基准的,不是图片中心。
还有一点需要注意,在runIt的子程序中的所有语句都需要一个缩进,就是键盘上的Tab键, 当然你也可以用Space键代替,必须保证子程序中所有语句的缩进都是同样的大小,不能有的语句缩进2格,有的语句缩进4格。
对于初学者来说,我隐藏了大量细节,它们在main.py,其中包括PyGame引擎初始化,游戏窗口大小,载入笑脸图片,事件循环检测,每帧运行速率等等,不是说它们不重要,只是对初学者特别是小孩子来说能马上上手看到实际结果更重要,更能激发出他们的兴趣。
|