《Skip-Bo》空白制作教程
#自由编辑器 #空白制作 #困难难度 #全局变量
最后更新于
#自由编辑器 #空白制作 #困难难度 #全局变量
最后更新于
👉
复杂玩法的制作流程通常分为4个步骤,其中(1)和(2)是动手制作前的准备工作:
(1) 玩法逻辑梳理
(2) 玩法流程拆分
(3) 资源准备和搭建
(4) 逻辑设置步骤详解
我们在制作之前需要将玩法和流程进行简单的梳理
玩家>>>对手>>>
玩家错误操作>>>对手>>>玩家失败
玩家正确操作>>>玩家胜利
对手牌库:1/3/4/5/6
对手手牌:5/12/随便/随便/随便
我的牌库:3/4/8/9/10
我的手牌:1/2/7/7/7
玩家点击普通卡牌,进行出牌或弃牌
玩家拖动skipbo到出牌区进行出牌(自由拖动两叠区域)
场景1
1)操作指引A
出现点击指引,引导玩家点击手牌中的1,玩家正确操作后,操作指引A消失
注意:此时点击其他卡牌,会有错误操作反馈
2)操作指引B
出现点击指引,引导玩家点击手牌中的2,玩家正确操作后,操作指引B消失
注意:此时点击其他卡牌,会有错误操作反馈
3)操作指引C
出现点击指引,引导玩家点击牌库中的3,玩家正确操作后,操作指引C消失
注意:此时点击其他卡牌,会有错误操作反馈
4)操作指引D
出现点击指引,引导玩家点击牌库中的4,玩家正确操作后,操作指引D消失
注意:此时点击其他卡牌,会有错误操作反馈
5)弃牌操作指引E
突出弃牌区,出现点击指引,引导玩家点击手牌中的7,玩家正确操作后,操作指引E消失
注意:此时玩家手上3张7,都可以点
6)对手操作
对手出牌库的1,放在出牌区另一叠位置(牌库下一张牌是3)
对手出牌5,放在第一叠牌上方,刚好接龙4
对手弃牌12,结束回合
7)玩家抽牌
抽牌,抽到三张:skipbo/4/12
8)skipbo拖牌指引
出现拖动操作指引,引导玩家拖动skipbo到5上面,拖动时消失,松手时出现,skipbo被使用后指引彻底消失。
9-1)玩家正确操作流程
正确操作触发条件:拖动skipbo去了5那里,变成了6
正确操作:skipbo变成6-7-8-9-10(牌库=0,胜利)
进入场景2
9-2)玩家错误操作流程
正确操作触发条件:拖动skipbo去了1/其他,变成了2
-出现弃牌操作指引E,突出弃牌区,出现点击指引,引导玩家点击手牌中的任意牌
-对手牌库3-4-5-6获得胜利
进入场景3
场景2
胜利结束页面:
logo+胜利反馈+下载按钮(Install)
场景3
失败结束页面:
logo+失败反馈+下载按钮(Install)
在制作之前,我们可以判断一下,目前的具体流程可以怎么拆分整理
简单来看,流程可以分为以下四部分:
第一部分:简单出牌
对应具体流程内容1-4
第二部分:简单弃牌和对手出牌
对应具体流程内容5-7
第三部分:skipbo双线程延伸固定结果
对应具体流程内容8-9
第四部分:结束
对应胜利结束页面/失败结束页面
背景音乐、背景图片、语言
场景1:核心玩法
场景2:胜利结束页面
场景3:失败结束页面
*本案例主要针对全局变量功能,动画、特效等均不展开细说
出现点击指引,引导玩家点击卡牌1: ①玩家正确操作后,操作指引A消失;②玩家点击其他卡牌,错误操作反馈
卡牌2、卡牌3、卡牌4同理
每种卡牌预设三种状态:可点击、不可点击、置于出牌区,通过事件将其串联起来
2-1)图层2_off(不可点击的状态/有错误反馈动画):
为卡牌2添加事件【按下】,设置响应事件为【从头播放音效】,设置响应事件为【从头播放全部动画】。即当卡牌2不可点击时,出现错误操作反馈。
2-2)图层2_on(可点击状态/有位移动画):
禁用卡牌2按下的事件——保证玩家有效点击卡牌2一次,禁止反复点击,保证试玩体验
播放卡牌2移动到出牌区的音效和动画,播放手指淡出的动画,延迟0.2s(卡牌2移动到出牌区的时间)后,播放正确操作的粒子效果和音效——玩家正确操作后,操作指引B消失,出现正确操作反馈
延迟0.3s(卡牌2成功置于出牌区)后,隐藏2_on,显示2和3_on,同时隐藏3_off,显示下一个操作指引C动画——玩家正确操作后,隐藏可点击状态下的卡牌2,显示出牌区的无动画无事件卡牌2,同时显示可点击状态下的卡牌3,隐藏不可点击状态下的卡牌3,并显示操作指引动画C
2-3)图层2(置于出牌区的状态/无动画):
无动画无事件
突出弃牌区,出现点击指引E,引导玩家点击手牌中的7 - 玩家正确操作后,操作指引E消失(注意:此时玩家手上3张7,都可以点)- 对手操作 - 玩家抽到三张牌
2-1)玩家无论弃掉哪张7,都会导向同一个结果——对手操作,玩家抽到三张牌 → 全局变量>1
2-2)点击玩家手上不同的7,在抽牌环节所展现的动画效果是不一样的 → 全局变量>2
3-1)全局变量>1 原理说明:玩家无论选择哪张7,要发生的结果都是同一个,所以为了节省响应事件量,避免重复制作,可以使用全局变量。为每张“7”赋值,添加一个【条件判断】即可
【添加变量】,填写变量名称Opponents_Turn,选择变量类型为【布尔值】,选择初始值为【false】,点击保存
为图层7_1_on添加事件【按下】,设置响应事件为【执行延迟0.5s】(卡牌7移动到弃牌区的时间),设置响应事件为【赋值】,选择全局变量,运算方法“=”,布尔值选择【true】,保存——即将卡牌7_1_on设为与初始值相反的值
同理,我们为图层7_2_on、7_3_on添加同样的赋值
在场景1下添加事件【条件判断1】,添加条件为当全局变量Opponents_Turn=true
设置响应事件为从头播放1的动画和音效,隐藏文本数字05,显示文本数字04——对手卡牌1移动到出牌区,对手牌库中的牌由05张变为04张
设置执行延迟0.5s后,隐藏对手有动画的卡牌1,显示对手无动画的卡牌1,然后显示并播放对手手牌card1与卡牌5的动画(card1即对手卡牌5的背面),播放对手手牌区card1消失的动画——对手手牌区的5移动到出牌区
再设置执行延迟0.5s后,隐藏对手手牌区card1,显示置于出牌区的卡牌5,然后显示并播放对手手牌card2与卡牌12的动画(card2即对手卡牌12的背面)——对手手牌区的12移动到弃牌区。对手出牌结束
为了减少同一条件判断下的事件量,方便我们更清晰地理解事件,所以为“玩家抽到三张牌”单独设置了全局变量(无实质意义,仅为方便参考事件)
【添加变量】,填写变量名称player_draw,选择变量类型为【布尔值】,选择初始值为【false】,点击保存
继续在条件判断1下设置响应事件,再执行延迟0.5s后(对手出牌结束后),设置响应事件为【赋值】,选择全局变量,运算方法“=”,布尔值选择【true】,保存——即将条件判断1设为与初始值相反的值
继续在场景1下添加【条件判断2】,添加条件为当全局变量player_draw=true
设置响应事件,隐藏三张可点击状态下的卡牌7,依次显示手牌skipbo、手牌4、手牌12,同时隐藏手牌区可移动的卡牌7与第一张不可点击状态下的卡牌7,显示不可点击状态下的其余卡牌7
设置执行延迟0.5s后,隐藏公共牌库下的三张卡牌(卡牌skipbo、卡牌4、卡牌12),显示手牌(卡牌skipbo、卡牌4、卡牌12)及手指指引,禁用除skipbo卡牌外其余四张卡牌按下的事件
全局变量1(玩家弃掉一张7 - 对手操作 - 玩家抽到三张牌)的操作步骤到此结束
3-2)全局变量>2 原理说明:点击玩家手上不同的7,出现的动画效果是不同的,即不同的操作有不同的结果。所以针对此类多线程的事件,可以使用全局变量。依旧为每张“7”赋值,添加一个【条件判断】即可
说明:手牌3张7,若玩家选择弃掉左边的7(手牌7_1_on),则在抽牌环节无动画发生;
若玩家选择弃掉中间的7(手牌7_2_on),则在抽牌环节会出现左边7向右移动到原始中间7的位置上;
若玩家选择弃掉右边的7(手牌7_3_on),则在抽牌环节会出现左边7与中间7一同向右移动,最终定在原始中间7与右边7的位置上
【添加变量】,填写变量名称choose7,选择变量类型为【数值】,选择初始值为【0】,点击保存
为图层7_1_on设置响应事件为【赋值】,选择全局变量,运算方法“=”,数值选择【1】,保存——即卡牌7_1_on代表数字1
同理,我们为图层7_2_on、7_3_on添加同样的赋值,让卡牌7_2_on代表数字2,卡牌7_3_on代表数字3
在场景1下添加【条件判断6】,添加条件为当全局变量player_draw=true并且choose7=1
即当玩家选择弃掉左边的7时
显示不可点击状态下的中间7与右边7
在场景1下添加【条件判断3】,添加条件为当全局变量player_draw=true并且choose7=2
即当玩家选择弃掉中间的7时
显示左边7与右边7,同时播放左边7向右移动的动画
在场景1下添加【条件判断4】,添加条件为当全局变量player_draw=true并且choose7=3
即当玩家选择弃掉右边的7时
显示左边7与中间7,同时播放左边7与中间7一同向右移动的动画
全局变量2(玩家弃掉一张7 - 出现相应动画)的操作步骤到此结束
出现拖动操作指引,引导玩家拖动skipbo到5上面:①玩家拖到5上面,正确操作,胜利,进入场景2;②玩家拖到1上面,错误操作,失败,进入场景3
操作相对简单,因此单独设置事件即可
2-1)玩家拖动skipbo到5上面,变成了6,指引玩家继续点击7-8-9-10,牌库=0,胜利
选中图层skipon_on
添加事件【拖拽到指定位置】
编辑拖拽区域为出牌区左侧第一张卡牌的位置,即卡牌5所在的位置
拖拽方向设置为【任意方向】
设置响应事件,当玩家成功拖动skipbo到5上面,开始播放成功的音效与粒子特效
同时隐藏卡牌skipbo,显示卡牌6
隐藏不可点击状态下的卡牌7,显示两张新的可点击状态下的7
启用设置好的【按下】事件,并显示手指指引
隐藏第二回合弃牌环节的手牌(因为玩家已选择正确,所以未触发第二回合)
玩家点击两张手牌中任意一张7,然后根据操作指引,继续点击8-9-10,完成操作,获得胜利
2-2)玩家拖动skipbo到1上面,变成了2,指引玩家点击手牌中的任意牌弃掉,对手出牌,对手牌库=0,失败
选中图层skipon_on
添加事件【拖拽到指定位置】
编辑拖拽区域为出牌区左侧第二张卡牌的位置,即卡牌1所在的位置
拖拽方向设置为【任意方向】
设置响应事件,当玩家成功拖动skipbo到1上面,开始播放成功的音效与粒子特效
同时隐藏卡牌skipbo,显示卡牌2
显示第二回合弃牌环节的手牌(手牌4、手牌12、手牌7、手牌7)
隐藏第一回合、第二回合所有素材
隐藏放置成功的粒子特效与卡牌6
显示新的手指操作指引,引导玩家从四张手牌中弃掉任意一张:玩家无论弃掉哪张牌,都会导向同一个结果——对手操作获得胜利,玩家失败 → 全局变量>3
内在逻辑同全局变量1一样,因此不再做步骤详解
玩家正确操作后,在场景1下的最后一步操作是点击牌库中的最后一张牌,即卡牌10。因此,我们要给卡牌10设置事件,并将响应事件设为【跳转到下一场景】,进入胜利结束页面
玩家错误操作后,面对第二回合的弃牌环节,玩家点击四张手牌中的任意一张,都会导致对手获得胜利(前面有提到,此处用到了全局变量Opponents_win)
因此,在场景1下添加【条件判断5】,添加条件为当全局变量Opponents_win=true,并将响应事件设为【跳转指定场景3】,进入失败结束页面
当玩家正确操作后,在点击卡牌7时,三张7都是可点击的状态:无论玩家点击哪张7,在胜利结束页面都要空出对应的位置,涉及跨场景控制事件,因此,此处也需要用到全局变量>4
【添加变量】,填写变量名称choose7_round2,选择变量类型为【数值】,选择初始值为【0】,点击保存
分别为图层7_2_new(中间7)、7_2_new(右边7)、7(弃牌区7)赋值
7_2_new=1
7_2_new=2
7=3
在场景2下添加【条件判断】
条件判断1:添加条件为当全局变量choose7_round2=1,隐藏素材7_2,即隐藏中间7
条件判断2:添加条件为当全局变量choose7_round2=2,隐藏素材7_3,即隐藏右边7
条件判断3:添加条件为当全局变量choose7_round2=3,隐藏素材7,即隐藏弃牌区7
同理,当玩家错误操作后,面对第二回合的弃牌环节:无论玩家弃掉四张手牌中的哪一张,在失败结束页面都要空出对应的位置,涉及跨场景控制事件,因此,此处也需要用到全局变量>5
内在逻辑同全局变量>4一样,因此不再做步骤详解