多媒体程序开发(二)
大家好,上期推送中我们初识了Python的游戏模块Pygame Zero模块,并用它制作了一个小游戏。今天我们来更加深入、细致的学习游戏制作的相关知识,然后进行实践,制作另一个游戏——“接宝物游戏”。
一、顺序过程程序和事件驱动程序
二、接宝物游戏编写
在游戏编写前,我们需要考虑如下问题:首先是角色确定。我们要制作的游戏包含哪几种类型角色?我们要让角色进行什么样的运动?我们要怎样控制角色?角色之间的碰撞又是怎样的?其次是画面设计。游戏的背景画面如何设计?信息如何显示?如何确定角色的绘制位置?最后是交互设计。简单小游戏的交互设计一般为鼠标控制。
一些重要的编程书写格式。颜色可以是(r,g,b),如(128,0,0);也可以是字符串名称,如‘red’。窗口写字:颜色可以是(r,g,b)也可以是字符串名称,如screen.draw.text(str, (x,y), color=颜色,background=颜色)。绘制背景图像:screen.clear()、screen.fill(颜色) 、screen.blit(背景图名, (x,y))。音效:sounds.<名称>.play(loops=<重复次数>)、 sounds.<名称>.stop()。
定时器clock:安排时间—clock.schedule(<函数>, <延迟时间>);会覆盖以前的安排—clock.schedule_unique(<函数>,<延迟时间>);定期反复调用:clock.schedule_interval(<函数>,<重复时间>);取消安排—clock.unschedule(<函数>)。
角色Actor:位置——center=(x,y);角度旋转——angle=角度值;相对距离——distance_to(<另一个角色>/(x,y));相对角度——angle_to(<另一个角色>/(x,y));外观——image=<图片>。
Actor碰撞检测:collidepoint(<另一个角色> / (x,y) ) ;colliderect(<另一个角色> / <矩形Rect()> /((x1,y1),(x2,y2)) )。
动画效果:animate(<角色>, pos=(x,y))。
合成的音符:tone.play(‘E4’, 0.5)。创建一个,后续调用play:beep = tone.create(‘A3’, 0.5)。beep.play( )。
鼠标事件:鼠标左右键:mouse.LEFT, mouse.RIGHT,mouse.MIDDLE。on_mouse_move(pos, rel, buttons)。on_mouse_down(pos, button)。if mouse.LEFT inbuttons:
键盘事件:on_key_down(key);键名称:key.A, key.B, key.ESC…。
三、程序书写与分析
经过第二部分的学习后,我们正式开始程序的书写。
经过以上的步骤接宝物的游戏就制作完成了,接下来就要运行和调试了,发现错误时要根据错误信息的提示加以更正或修改。
推荐阅读
《数据科学与人工智能》公众号推荐朋友们学习和使用Python语言,需要加入Python语言群的,请扫码加我个人微信,备注【姓名-Python群】,我诚邀你入群,大家学习和分享。
关于Python语言,有任何问题或者想法,请留言或者加群讨论。