如何用Python语言制作打字游戏?快教教我,急急急
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python语言制作打字游戏?快教教我,急急急相关的知识,希望对你有一定的参考价值。
参考技术A您问的太模糊,我尽量去猜测你的用意.
Python制作2D游戏最常用的模块是pygame,首先导入
打字游戏的基本逻辑是:
随机生成字母,然后键盘输入, 如果相同就是对的,如果不同就提示错误。
随机生成字母可以利用标准库,ranmdom实现.
这里只说了大概思路希望对你有帮助
如何用UE4制作2D游戏文档——资源篇
一、前言
首先感谢B站马克镇镇长的视频讲解清晰把很多细节都照顾到了,我本来自己做的时候没有视频说的那么细,参考他的全套系列视频之后完善了很多内容。
视频指路:https://www.bilibili.com/video/BV1s5411Y7Ry
感兴趣的朋友别忘了给这个视频一键三连。
如何利用UE4制作一个2D游戏,众所周知,UE4是EPIC为了方便自己开发FPS游戏而“顺便”研发的一个引擎,后期通过不断的完善成为了现在功能强大的游戏开发引擎,并且在GITHUB上面进行开源,可以拿到源码进行魔改,然后声称“自主研发”。
后期会挖一个坑如何魔改UE4引擎源码(需要一定的C++基础),不过那是后话,本系列内容是如何使用UE4的蓝图进行制作2D游戏,主要包括以下内容:
(一)——基础篇,介绍UE4的基础操作,以及需要用到的类
(二)——资源篇,介绍如何导入基础美术资源进行场景制作与动画制作
(三)——角色篇,如何制作属于自己的角色,并且添加属于自己的操作
(四)——NPC篇,在角色制作的基础上创造一些NPC角色并且产生对话,制造故事流程
(五)——战斗篇,制作基于UE4自带AI的敌人,进行回合制战斗。
(六)——计算篇,进行战斗完毕后要对人物的奖励进行结算
(七)——数据篇,利用服务器存储角色数据,并进行在线交互(额外内容,不影响结算可以跳过)
……后续有更新再编辑这里
前文指路:(一)基础篇:https://blog.csdn.net/qq_33182045/article/details/117120658
二、UE4引擎奶妈级教程,导入自己的PNG素材
首先我们打开UE4,我这里使用的是UE4.26。在下方资源浏览器的地方新建一个文件夹,叫做“场景”,用来存储关卡素材,不同类别的素材存储在不同的文件夹里面,如图1所示
图1 创建文件夹
由于导入的素材是PNG格式的,但是不能直接作为2Dpaper sprite素材,需要进行一个转换,才能变成我们需要的sprite素材,导入PNG过程如图2所示
图2 直接将PNG素材拖入内容浏览器
这个时候我们的素材只是UE4当中的“纹理”资源,并不能做成真正的Sprite资源,我们需要进一步的转换,选中素材——右键——Sprite操作——创建Sprite,如图3所示
图3 创建Sprite
这样就得到了响应的Sprite素材,我们双击这个Sprite素材可以查看详情,如图4所示
图4 Sprite详情
由于我的Sprite设置是静态的,暂时用不到序列动画,所以只用设置物理属性,草地的物理属性是碰撞厚度10,比2DpaperCharacter的胶囊体半径低,所以角色可以迈上草地,符合真实的物理设定,如图5所示,启用3D物理效果,并且碰撞预设为BlockAllDynamic
图5 碰撞预设参数
同理,房屋的碰撞预设要高很多,因为人不能直接踩过房屋,这就不符合预期设定,房屋碰撞预设要远大于角色胶囊体半高,假设胶囊体半高是25,我这里设计是胶囊体半高的20倍,如图6所示。
图6 房屋预设碰撞体
这样就能保证角色踏上草地而无法踏上房屋,具体效果可以通过视图的玩家碰撞验证,具体操作为:点击视图界面上方——视图模式——玩家碰撞,操作后如图7所示,可以看到2D画面的3D碰撞模型
图7 2Dpaper的3D碰撞模型视图
其中体积较大的是刚才预设为500的房屋,较小的是树林,树林无法进入,就比角色高一点,而比较矮小的是草地和平地,允许玩家踏入。
制作完毕场景需要的素材,我们同样可以导入角色需要的素材,如图8所示
图8 导入角色每一帧素材
三、利用素材制作地图
1.刚才我们已经导入了自己需要的美术素材,并且制作成了Sprite,接下来我们需要制造属于自己的关卡,并且形成相应的地图。
首先我们先新建一个关卡,在“场景”文件夹下新建一个文件夹,命名为map,然后新建一个关卡,命名为testmap,不添加任何内容,是一个空的关卡,如图9、10所示
图9 新建testmap
图10 空白关卡
2.新建关卡的时候什么都没有,我们需要导入地图素材,看到自己的“场景”文件夹,将制作好的土地sprite(这个是基础底层地形Sprite)拖入关卡中,如图11所示
图11 将土地拖入基础关卡
因为我们是2D平面游戏,这个时候看到的土地sprite只是一个二维的平面,是看不见的,所以需要将土地sprite进行一个旋转,沿着X轴旋转-90°,并进行适当的缩放,视图界面将“透视”切换成“上部”,可以查看顶视图,将土地的旋转与缩放操作如图12所示
图12 基础土地旋转与缩放(顶视图)
此时视图当中还会显示每厘米的缩放比例。
3.此时场景是没有光照的,我们将光照拖入场景当中,如图13所示
图13 引入光照
引入光照后还需要引入草地、河流、建筑、树林等内容,只需要将素材拖入场景就行了,如图14所示
图14 构建基础场景内容
4.此时因为素材是2D内容,如果图片和地形堆叠在一起会出现显示错误,我们需要引入一个参数,来修正这些堆叠的视觉效果,在PS中可以理解为图层层级,在UE4的2Dpaper sprite当中,就是“半透明排序优先级”,
这个修改内容在已拖入场景的Sprite——渲染——半透明排序优先级当中,最底层的是土地,我设置成-1,上一层是草地和数目,我设置成0,房屋可以挡住人,我设置成1,半透明显示优先级越高越优先显示,其他则被隐藏。
如图15所示
图15 修改半透明排序优先级
当我们设置完优先级的时候,整个地图就设置完成了基础的配置,如图16所示,这样我们的地图有了初步的规模
图16 设置完成基础地图
这样通过本次操作我们设置了自己的美术资源和地图资源,为接下来的所有角色操作进行铺垫。
四、总结
2D平面游戏需要大量的美术资源来进行操作,对渲染的要求不是很高,但是需要有大量的美术资源进行支持,本篇文章讲述了如何添加自己的美术资源,接下来将会利用这些美术资源制作属于自己的角色与蓝图操作,进行基础的移动与对话操作,敬请期待。
以上是关于如何用Python语言制作打字游戏?快教教我,急急急的主要内容,如果未能解决你的问题,请参考以下文章