用户:
YLS汤圆查看:10 回复:4 评论:10 创建时间:2021-05-11T19:15:46
大家好~我是汤圆~
格斗类型的游戏一向是在编程猫里很受欢迎的,今天汤圆来教大家如何构思一个格斗游戏的框架,并且还会一步一步教大家如何制作一个简单的格斗类游戏哦~
首先我们要搞清楚格斗游戏的大概框架--可分为开始界面、说明界面、选关界面、游戏界面及结束界面。最简单的开始见面就是有标题、开始、说明及排行。
点击开始,则会切换到选关界面,点击选关界面的任意一关则伟切换到游戏界面;点击说明则会切换到说明界面;点击排行则会出现排行榜,这里的排行榜可以排行排行什么呢?首先,排行榜一定要是一个公平公正的排行,也一定是要是一直保存的一个数据,这里可以用云变量,我们可以让每次游戏结束后,如果游戏胜利,那么就把排行榜的云变量增加某个数值(每一关增加的数值可以不同),如果游戏失败,可以设置减少,也可以设置增加一点,也可以设置不增不减,总之,公平公正就行,排行榜的数值可以用倒叙排行榜,意思就是说大的排在前面,小的排在后面,用正序排行榜的话,大家可以思考另外的增加或减少云数值的方法,总之,公平公正就行。
接着说说 说明界面。说明界面需要说明的文字和返回按键(按下返回到开始界面),说明的文字可以用文字印章或源码画板绘制(另外导入也可以,只要让玩家懂格斗游戏的操作就行)。例如格斗火柴人的说明就是致玩家:屏幕左方的上、左、右按钮可以操控火柴人移动,屏幕右方的技能按钮可以让火柴人攻击,A技能为普攻,可以伤害敌人0.5格血;B技能为旋转飞镖,可以伤害敌人1格血;C技能为千刃传击,可以伤害敌人3格血。敌人一共有20格血,你一共有15格血,打败敌人即可胜利,加油!祝您游戏愉快!然后我们做选关界面。既然是格斗类型的游戏,我们可以做多个关卡(只有一个关卡会玩腻),我们可以用源码画板(或其它作图工具)做出每一关的角色,最后可以来点贴合主题的小配饰(没有也有),点击则切换到游戏界面。
游戏界面则是整个格斗游戏的核心,下面我先说说格斗游戏的角色,角色可以到爱给网上面找(网页:aigei.com),也可以用源码画板绘制(这里以火柴人为例)--先在图形区点击圆形调整位置,便是火柴人的头;
接着用画笔在头的下方画两条倾斜的斜线,注意两条斜线有一部分位置是重合的,重合的位置便是火柴人的身体,没有重合的部分便是火柴人的腿;
接着在头的下方一撇一竖,画出两只手;
在腿的末端加上一撇,便成了火柴人的脚,
画完之后再复制2-3个1造型,
把脚步改一改,画出关键帧。
再说说游戏界面的设计,格斗游戏界面的设计可以参照王者荣耀的设计方法--左边为操控火柴人的按钮,右边为技能,注意操控火柴人的按钮和右边的技能都要稍增加些透明度,不然会挡住火柴人(或其他主角),
敌人也可以画成火柴人(注意颜色,要与玩家角喵分开,画法和上面的火柴人画法一样)。最后说说角色脚本。游戏界面的角色脚本是整个游戏的重中之重,那我们要怎么做这些角色脚本呢?格斗游戏的角色脚本分为我方(玩家)与敌方(敌人)。先说我方(玩家)的脚本(以火柴人为例)--既然是火柴人,就会有引力,让火柴人重复执行将y坐标减少一定的数值(一般为4-7,
如果你是用nemo做横屏火柴人,那么就让x坐标减少一定的数值),
如果火柴人碰到'地面'角色那么就停止减少。火柴人也会移动--(按钮的设计摆放在游戏界面设计的地方)如果按下左按钮,那么就让火柴人向左走(及x坐标减少3,
如果你是用nemo做横屏火柴人,那么就让y坐标增加3);
如果按下右按钮,那么就让火柴人向左走(及x坐标增加3,
如果你是用nemo做横屏火柴人,那么就让y坐标减少3);
如果按下上按钮,那么就让火柴人跳跃(及y坐标增加合适的数值,如果你是用nemo做横屏火柴人,那么就让x坐标增加合适的数值)。火柴人还要有造型切换,所以在绘制火柴人的时候的关键帧现在就起到了作用,当按下左键的时候则切换到向左走的关键帧,当按下右键的时候则切换到向右走的关键帧。玩家有了移动,这时候我方(玩家)方面的脚本还差玩家的技能,玩家的技能角色可以自己画或者喵找,角色的技能想简洁一点的话就用广播,如果某个技能被点击后,那么发送那个技能的广播,然后我方的技能攻击敌方(这里大家可以根据自己的想法去做,因为汤圆没法代表大家的思想~)。再说说敌人的移动--先说最简单,但火柴人移动生硬的方法,我们可以用随机移到屏幕宽度~-屏幕宽度(如果是nemo做横屏火柴人则是随机移到屏幕高度~-屏幕高度)让敌人移动。这种移动方式虽然脚本简单,但火柴人的移动非常生硬,如何让火柴人移动的更灵活呢?可以用变量和关键帧来辅助火柴人移动,首先创建1个1变量,把变量设置为1~2之间的一个整数,如果等于1,那么就切换到面向左的关键帧,重复执行10次,把x增加-4(这里的数据汤圆试了,4比较合适,大家也可以去改成其他合适的数据),如果等于二,那么就切换到面向右的关键帧,重复执行10次(把x增加4(这里数据汤圆也试了,4比较合适,大家也可以去改成其他合适的数据)。那么,如何让火柴人的移动更人性化呢?在第二种方法的基础上,把有关变量的脚本删掉,让敌人面向玩家移动(敌人要设置为不旋转),并且,新建一个变量,让玩家的x坐标一直设置为新建变量,如果敌人的x坐标大于变量,那么就切换到右关键帧,否则如果变量大于敌人的x坐标就切换到左关键帧。第一种方法脚本简单,但火柴人生硬不灵活,不人性化;第二种方法火柴人的移动灵活,但不人性化;第三种方法,火柴人的移动灵活人性化,脚本偏难。
敌人有了移动,这时候敌方(敌人)方面的脚本还差敌人的技能,敌人的技能角色可以自己画或者喵找,角色的技能想简洁一点的话就用广播,如果某个技能被点击后,那么发送那个技能的广播,然后敌方的技能攻击我方(这里大家可以根据自己的想法去做,因为汤圆没法代表大家的思想~)。接着来做敌方和我方的血条,先用源码画板画一个正方形,把正方形调整到适当的位置(一般在屏幕上方),创建一个我方血量变量(初始值为100),如果我方火柴人碰到敌方的技能攻击,那么就把变量减少,
再创建一个敌方血量变量(初始值为100),如果敌方火柴人碰到我方的技能攻击,那么就把变量减少,
这个时候可能就会有训练师问了,为什么碰到攻击减少的是变量?嘿嘿,这个时候要做一个检测失败或胜利的脚本--当进入游戏界面的时候,等待1秒(等待1秒,是为了不与变量设置初始值时冲突),重复执行如果敌方的血量变量≤0或我方的血量变量≤0,那么就切换到结束界面。
最后就是结束界面的制作。当游戏胜利或失败时,则会切换到结束界面,这个时候我们可以用文字打印来告诉玩家成功或失败,当进入结束界面时,如果敌人的血量变量≤0那么打印'成功'(并且将排行榜的变量增加某个数值,并且可以用新建对话框的方式来告诉玩家,排行榜的得分增加了多少,总之,公平公正就行),否则就打印'失败'(这里想把排行榜的得分减少的,就添加这一步,记得要告诉玩家哦~)。
我是汤圆~ 看完教程后学会了嘛,没学会的话可以多看几遍哦~ 其实,制作格斗游戏并不是很难,用心去做作品,尽力去优化作品,相信你也能做出个好作品的!
以下是汤圆自制的格斗游戏制作教程视频链接【教你如何用编程猫制作一个格斗游戏】
https://www.bilibili.com/video/BV19p4y147Wo
拜~