用户:Banana君查看:3 回复:12 评论:3 创建时间:2018-12-17T18:53:58
【功能讲解】
一、分数和生命UI显示
分数和生命主要采用外观积木和变量实现,如【切换到编号为xx的造型】、【显示】、【隐藏】等,根据当前生命或分数的数值,对造型进行生成、更改或隐藏等操作。
使用与作品风格一致的UI造型,可以大大提升作品整体的完整度,使作品整体的更加统一、美观。
分数
采用了数字“0-9”10个造型,根据分数变量的长度进行对应位置的分数角色的生成,生成的角色代表不同位置的数值~如,现在分数为9(一位数),初始角色始终代表分数的倒数第一位。当角色把怪物击杀后,分数增加2,这时分数变为11(二位数),分数角色只有“0-9”的造型,无法满足分数的显示需求,这时就需要分裂或克隆出一个新的角色,代表分数的倒数第二位,三位数、四位数等同理。
当新的分数角色生成后,把代表位置赋值为当前分数长度(因作者把倒数第一位记为0,故需对长度进行-1的操作),积木中的“代表位置”为角色变量,分数角色根据自己在分数中代表位置的数值进行改变~
(当玩家挑战失败时,重新开始时,分数会存在一个瞬间变为0的操作,这时,需要对部分角色进行隐藏,或失败后也可以使用【重启】积木,有可能会降低玩家体验)无法理解的话,可尝试配合灵魂配图进行学习。。
(角色变量创建)
生命
生命主要采用【显示】、【隐藏】积木来实现,造型仅有一个心形,作品开始时便分裂出其他四个心形,每个心形代表对应的状态。
生成其他四个生命角色,脚本如下~
根据每个心形所造的x坐标,对角色进行不同的脚本控制,如X坐标为-425的心形(最左的),代表着最后一点生命,当HP>=1时,显示;当HP<1时,隐藏。(可以在【隐藏】前添加其他积木或变换造型,变为更酷的掉血效果)每个生命角色分表代表不同的HP值,部分脚本如下~
附:以下脚本可优化为一个脚本,判断条件为当前角色的X坐标与最左心形X坐标(-425)的距离,感兴趣的可以自己思考要怎么改哈。
灵魂配图~
当按下重新游戏时,分数归零,只保留最后一位的显示,其他位置的分数进行隐藏(可归零),这样就看不见其他已经生成了的分数角色了。生命与分数同理,只不过只是简单的【显示】、【隐藏】~
二、怪物弹幕
为了丰富作品内容,怪物的弹幕有不同的效果,并且移动类型设计为多种类型,有直线移动类型、圆形旋转类型、定点喵类型(虽然设计了HP机制,但相对简单,不作解析)以及BOSS的弹射子弹类型~
弹幕效果
当子弹在怪物位置生成时,面向此刻定位点(人物始终跟随定位点)的位置,然后进行显示,并重复执行切换造型,子弹闪烁效果就做好了~
直线移动类型
子弹生成的同时,因为上一个脚本已经改变了子弹的面向角度,使用【移动x步】积木,子弹会朝着面向的位置进行移动,不同怪物的弹幕可以设置不同的射击范围(更改重复执行里的数值)、射击速度(更改【移动x步】积木的数值)、判断范围(更改“到定位点的距离 <= x”中x的值)。
下图为绿色史莱喵直线弹幕脚本~
下图为黄色尖刺史莱喵直线弹幕脚本(没有【面向xxx】积木,调整不同造型的面向角度,设计为会发射四个固定角度的尖刺弹幕)~
圆形旋转类型
因为蓝色史莱姆生成弹幕会生成四个圆球呈逐渐扩大的圆形轨迹进行旋转,故生成子弹时,需先对四个圆珠的位置进行精确的调整,如图~(这时子弹都处在半径为5的圆形轨迹上)
在子弹生成时,记录旋转点的位置、当前角度、半径,变更半径及角度,就可制作一个逐渐扩大的圆形轨迹,如图~
此函数为根据旋转点的位置、当前角度、半径的变更,更改角色的坐标位置,原理可参照三角函数的公式~
弹射子弹类型
BOSS在生成子弹时,会随机面向一个角度,然后重复执行【移动x步】操作,当碰到边缘(自定义边缘,可参考上期教程)时,变更角度,原理类似光的反射,脚本如下~
献上灵魂配图,方便你们理解~
本期就先分享到这里吧,下期会对人物射击(自动瞄准)以及其他功能进行讲解~
(绝不拖更,立个flag)