Skip-Bo玩法-全局变量制作教程

#自由编辑器 #空白制作 #全局变量 #困难难度

复杂玩法的制作流程通常分为4个步骤,其中(1)和(2)是动手制作前的准备工作:

(1) 玩法逻辑梳理

(2) 玩法流程拆分

(3) 资源准备和搭建

(4) 逻辑设置步骤详解

STEP1 玩法逻辑梳理

我们在制作之前需要将玩法和流程进行简单的梳理

1. 出牌顺序

玩家>>>对手>>>

  • 玩家错误操作>>>对手>>>玩家失败

  • 玩家正确操作>>>玩家胜利

2. 初始牌面

对手牌库:1/3/4/5/6

对手手牌:5/12/随便/随便/随便

我的牌库:3/4/8/9/10

我的手牌:1/2/7/7/7

3. 交互操作

玩家点击普通卡牌,进行出牌或弃牌

玩家拖动skipbo到出牌区进行出牌(自由拖动两叠区域)

4. 具体流程内容

场景流程内容

场景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)

STEP2 玩法流程拆分

在制作之前,我们可以判断一下,目前的具体流程可以怎么拆分整理

简单来看,流程可以分为以下四部分:

第一部分:简单出牌

对应具体流程内容1-4

第二部分:简单弃牌和对手出牌

对应具体流程内容5-7

第三部分:skipbo双线程延伸固定结果

对应具体流程内容8-9

第四部分:结束

对应胜利结束页面/失败结束页面

STEP3 资源准备和搭建

1. 资源导入

2. 全局设置

背景音乐、背景图片、语言

3. 场景搭建

场景1:核心玩法

场景2:胜利结束页面

场景3:失败结束页面

4. 动效制作(动画&特效)

5. 音频添加(bgm&音效)

*本案例主要针对全局变量功能,动画、特效等均不展开细说

STEP4 逻辑设置-步骤详解

1. 简单出牌(流程内容1-4)

1)内容

  • 出现点击指引,引导玩家点击卡牌1: ①玩家正确操作后,操作指引A消失;②玩家点击其他卡牌,错误操作反馈

  • 卡牌2、卡牌3、卡牌4同理

  • 每种卡牌预设三种状态:可点击、不可点击、置于出牌区,通过事件将其串联起来

2)操作步骤详解(以卡牌2为例)

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(置于出牌区的状态/无动画):

无动画无事件

2. 简单弃牌和对手出牌(流程内容5-7):

1)内容

  • 突出弃牌区,出现点击指引E,引导玩家点击手牌中的7 - 玩家正确操作后,操作指引E消失(注意:此时玩家手上3张7,都可以点)- 对手操作 - 玩家抽到三张牌

2)难点

2-1)玩家无论弃掉哪张7,都会导向同一个结果——对手操作,玩家抽到三张牌 → 全局变量>1

2-2)点击玩家手上不同的7,在抽牌环节所展现的动画效果是不一样的 → 全局变量>2

3)操作步骤详解

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 - 出现相应动画)的操作步骤到此结束

3. skipbo双线程延伸固定结果(流程内容8-9)

1)内容

  • 出现拖动操作指引,引导玩家拖动skipbo到5上面:①玩家拖到5上面,正确操作,胜利,进入场景2;②玩家拖到1上面,错误操作,失败,进入场景3

  • 操作相对简单,因此单独设置事件即可

2)操作步骤详解

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一样,因此不再做步骤详解

4. 结束(胜利结束页面/失败结束页面)

1)胜利结束页面(场景2)

玩家正确操作后,在场景1下的最后一步操作是点击牌库中的最后一张牌,即卡牌10。因此,我们要给卡牌10设置事件,并将响应事件设为【跳转到下一场景】,进入胜利结束页面

2)失败结束页面(场景3)

玩家错误操作后,面对第二回合的弃牌环节,玩家点击四张手牌中的任意一张,都会导致对手获得胜利(前面有提到,此处用到了全局变量Opponents_win)

因此,在场景1下添加【条件判断5】,添加条件为当全局变量Opponents_win=true,并将响应事件设为【跳转指定场景3】,进入失败结束页面

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一样,因此不再做步骤详解

最后更新于