如何利用索引数值简化养成界面制作
发表时间: 2018-08-09 15:19:08 阶段:高级 分类:实例应用
  本教程由闪艺作者【抵不过一个双儿】提供,小伙伴们想分享自己的教程,也可在圈子教程征集活动中参与哦~

虽然狐狐大大已经写过养成界面的教程了:http://qz.3000test.com/topic/5116.html
不过某葵看过之后发现与个人制作养成的方式还是不尽相同,所以还是决定再发一下,
希望有小伙伴能够吸取本教程中与狐狐大大不一样的思想,以便简化各位观众老爷之后各方面的制作,
以及欢迎在教程结束后留下各种问题,包括与本教程无关的制作方面的问题,
简单的某葵会直接回复解决,复杂的某葵会另发教程,
好了,废话不多说,教程附上:
(ps:接下来的教程均以自己已发布的养成作品为例)

1. 由于养成界面所用到的按钮比较多且按钮的反应比较复杂,所以这里选用高级界面制作,在工具界面选择高级界面并且点击新增界面:
 

2. 将事先准备好的素材置入高级界面中(这步比较基础,会的小伙伴看一下标红文字即可。)
 
新建之后我们得到这样的一个界面:

将准备好的养成界面底图导入背景栏,点击导入完毕的养成底图之后是这样的:

这里说一下,底图的制作与准备要在各位对要养成的数值、
一次安排需要执行的养成的次数以及有哪些可安排的指令有一个清晰的了解之后才能完成,
底图制作完之后我们要对界面做完之后呈现怎样一个状态有一个预想,透过这个预想我们才能够对按钮的个数与布局有一个清晰的方向。

底图导入完毕后,我们把事先准备好的按钮导入,按钮导入的方式请接着往下看,已经掌握的小伙伴可以忽略继续后面的教程。
 

导入按钮:
按一下制作工具中下图标红的按钮:

得到下图灰色的小方框:

双击这个灰色的小方框得到下图界面:

点击自己已导入的按钮素材,这里说一下按钮素材需要安排点击前点击后两种状态,如果没有特殊目的,这两种状态最好有明显的不同。
 
点击完毕后出现该界面:
 
根据自己点击的是选中状态的图片还是非选中状态的图片来点选鼠标离开/鼠标经过,点选过后点击确定即可,
养成指令的按钮我们有了,点击返回上一级按钮回看一下养成界面的底板,
由于这里的底板制作了显示属性数值的部分,那么这里就再提一下文本框如何插入数值。
方法与按钮类似,不同的是双击文本框小方框之后的操作,双击后得到的界面如下:

先双击文本框把里面的内容删除干净,之后点击上图标红部分,再次点击文本框进行编辑:

之后点击上图标红按钮,选择自己想要显示的属性,点击确定,然后返回上一级,这里顺带提一下保存按钮可以更改组件的名字方便大家的制作。

排版完毕之后得到的界面如下(数值部分懒得添加了,比较简单,和整个界面的运作关系也不大):

3. 重头戏:对指令按钮的编辑
在重头戏真正开始之前,某葵想先让各位观众老爷明白两点

1)索引数值到底是什么:
官方教程:http://www.3000.com/course/99.html
师妃大大的欢脱向教程:http://www.3000.com/course/100.html
某葵的个人理解:柯南中有一句话说得好:流动的水没有形状、漂流的风找不到踪迹,其实索引数值就是流动的水就是漂流的风,
你让它是什么形状都可以,而索引数值的编号则是水和风的容器,决定了索引数值到底是什么。
如果以上都看过了还是不明白的话就跟着某葵的教程试试看,毕竟实践出真知嘛。

 
2)一个制作时的小技巧
我把这个小技巧叫做编号小技巧,举个栗子,比如在养成界面的制作中,
一天安排一个指令,这个指令可以是吃饭、睡觉或者打波利,如果用字符串来做,很容易因为多打了一个空格导致运行出问题,
但是假设我们把这个指令变成一个普通的数值,把吃饭记为1、睡觉记为2、打波利记为3,那么我们就不用害怕会因为一些手误而导致运行上出现严重的bug了。
 
好了,明确这两点之后我们可以开始正式的编辑按钮了,可以双击进入按钮界面编辑内部事件,
也可以在养成界面中单击按钮编辑按钮外部事件,编辑内部事件的好处在于复制该组件时,里面的内部事件也会被一起复制,
但是比较难做到一按钮多用,外部事件则恰恰相反,考虑到制作的方便以及养成界面按钮的使用情况比较固定这些因素,笔者推荐使用内部事件。
 
 
下图是初始数值的设置,与1)、2)两点息息相关:
于这个教程中制作的是周一至周五的养成,所以这里把周一所安排的行程记为指令1、周二所安排的行程记为指令2,依此类推,
这边正如2)中所说,指令1、指令2等于不同的值时代表了不同每次行动时不同的指令:
每个指令被赋值时所对应的行动:1.学习文综 2.学习理综 3.学习语文 4.学习数学 5.学习英语 6.学习体育 7.学习艺术
这里强调一下,为了方便使用索引请将这几种代表行动指令的值依次创建,不要数值1是指令1,数值10是指令2,而应该数值1是指令1,数值2就是指令2。

下图就是索引值的设置,正如刚刚所说索引值是没有形状的水,而索引编号就是容器,在这里我们设置养成索引的初始值是指令1,
从上图来看指令1的数值编号是97,那么此时初始的索引编号就是97,我们一旦对索引编号进行了改动,
那么盛水的容器就会有所变化,水的形状也会不一样,比如索引编号等于1的时候,索引值就会变为普通数值编号为1的数值,
我觉得这样的说明已经非常详细了呢,如果还是不明白的话欢迎回复来问。

接下来初始数值设定完毕了,我们开始正式地编辑按钮。

此处以周一文综为例:
条件设定:

动作:

动作中的数值操作:

文综按钮所有动作:

动作6条件设定:

动作6:

动作6数值操作:

好了,按钮事件的图基本已经传完了,现在来简单叙述一下其中的逻辑,由于这些逻辑建立在1)、2)两条之上,
所以希望各位观众老爷在确保对前面教程的1)、2)内容充分理解的前提下再来阅读接下来的教程,
由于某葵希望玩家在按下指令按钮之后,指令能够出现在之前已经安排好指令之后,
那么我们自然需要知道现在到底安排到第几个指令了,这个我们可以通过判定指令是否被安排好,
即指令1、指令2、指令3等数值是否大于0来判断并且某葵希望,玩家点一下指令按钮,只有一个指令被安排而不是接下来所有指令都被安排好了,
那么我就要想一个条件,让别的动作不能执行,并且还需要该变量能随着玩家点击的次数来变化,
一开始我使用的是新的变量这样,不过由于索引值的出现,我们就不用创建额外的新的变量了,直接使用索引编号,
既能精准的定位当前安排到了哪个指令,又能够进行变幻,并且这与我们制作养成的分支内容的手法可以说是异曲同工,所以这样设计索引值不会显得多余,
并且索引值这种相对固定又多变的特性能够加快作品运行速度、优化作品体验,好处多多,等一下,这个教程不是为了安利索引值来的,
咳咳,言归正传,其实这里索引值编号是几不重要,只要周一对应的是索引值编号初始值即可,
因为在养成界面中索引值编号只是为了定位和保证按下按钮之后其他动作不会触发的,所谓的定位其实不管开始是几的,只要顺承关系正确就可以了,
而索引值所需要的每次按下之后最后加一,就是为了让它能够卡住其他的动作,下次开始时又能够进行正确定位。
这块逻辑只可意会不可言传,大家多尝试,甚至可以一开始采用一些错误的做法就知道正确的做法为什么正确了,
这边安利一下第一楼狐狐大大的教程中倒过来的做法,很新奇,没想到,也好理解,
但是我还是要说那么一是安利一下索引值,二是想要跟大家分享编号的想法。好了,指令按钮部分完。
 
 
4. 确认、撤销、清除按钮
确认按钮:记得设置指令5大于0来确保所有指令均被安排,如果养成内容就在界面剧情的下面就把动作设置为点击下个剧情,如果养成内容在别的章节就设置跳转。
注:在确认按钮的设置中,需将索引编号设置成为96,其实对于每一个作品来说,这个养成指令1的数值编号都不尽相同,
将索引值编号设置成比养成指令1的编号小1的值是为了在之后做养成内容时不因为索引值编号+1这个指令而导致有一些指令不能够被判定到,
比如在本教程中,某葵在确认按钮设置时,使索引值编号=97即指令1的数值编号,那么在索引编号+1之后,索引数值变成了98。
那么如果按照教程之前步骤中所做的话就会发现,指令1的安排永远也不会被执行,这里也是确保养成系统正确运行的点之一,请各位观众老爷多多注意。

撤销按钮:这个稍微有些麻烦,不做也无伤大雅,如果想做的话请看下图,以撤销指令1为例,不过这个有几个指令就需要做几次,数值依此类推。
 
设置条件
(注:这里索引值编号要比按钮设置时的对应值大1,比如周一安排指令时,要求索引编号为97,此处就需要把判定值写为98,因为在进行周一的安排之后,索引值编号已经加1了。):
 
周一动作:

周一数值设置:


清除按钮:在界面里的所有字符串皆为空,索引值编号等于初始值,所有指令值均为0,请记得刷新字符串。

 
 
5. 养成内容
养成界面的制作已经基本完成了,那么该如何利用索引简单的做养成内容呢?
由于本教程中养成次数为5,所以养成内容写成5次循环

为了能够每种指令都加入不同的对话这边在循环支中加入了条件分支,条件分支的设置:

在下图所显示位置点击下图标红按钮加入数值操作:

数值操作如下:

然后在分支中加入与不同的指令所对应的句子,完工。

  ————————————————————---——THE   END——————————————————————————--—
头一次写这一类的教程,可能会有纰漏及疏忽,也可能会有表达不准确或者不清晰的地方,感谢看到这里的各位,也希望各位能为我提供你们宝贵的意见,谢谢。(鞠躬)
TOP