Pygame Notebook 6 推箱子

2017/10/30

《Making Games with Python and Pygame》


Notebook <6> 推箱子

第九章的游戏 Star Pusher 经典的推箱子游戏。背景比松鼠游戏更加绚丽,物体也更加多样,虽然看上去都是贴图。人物推星星时星星的移动,一格一格。推到角落就不能在推了。推到了指定位置就进入下一关,通过读取关卡文件进行游戏地图绘制。

第十章的介绍了几个更加复杂的游戏,代码量更多更庞杂。以后慢慢细看吧。

亮点 / 思路

  • 复杂广泛的背景贴图,关卡文件的意义。
  • 胜负的判断。
  • 能不能移动的判断。

去除关卡文件中的注释行

  • 读取文件,删除 ‘;’开始的行。
line.find(';') #找到;开始的行,返回第一个 ; 的index = 0
line = line[:line.find(';')] #line 为空

待续。。。

监听鼠标事件

  • event.type 中的 MOUSEBUTTONUP 和 MOUSEBUTTONDOWN 包含了按动/松开 左键(1),滚轮(2),右键(3),上滚(4),下滚(5)的事件。
for event in pygame.event.get(): # event handling loop
	if event.type == MOUSEBUTTONUP:
		if event.button == 1 or event.button ==4:
			# do something
		if event.button == 3 or event.button ==5:
			# do something

Search

    Post Directory