前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多媒体程序开发(二)

多媒体程序开发(二)

作者头像
陆勤_数据人网
发布2020-09-22 10:24:01
6540
发布2020-09-22 10:24:01
举报

大家好,上期推送中我们初识了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…。

三、程序书写与分析

经过第二部分的学习后,我们正式开始程序的书写。

经过以上的步骤接宝物的游戏就制作完成了,接下来就要运行和调试了,发现错误时要根据错误信息的提示加以更正或修改。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档