在项目一开始的功能设定中,除了绘图板场景外,还需要图库场景和画册场景。(而我最早实现该功能真的是傻傻的创建了三个场景,后来经同事指点,改用了一个场景里的三个canvas来实现)所有的canvas都通过按钮的触发来启用和禁用。
其中canvasPainter是用来绘图的;
TuCeng是一张半透明的图,启用时产生阴影的效果;
canvasTuKu用来放置各个动物的线稿;
canvasHuaLang用来放置已截图(同时保存)的画稿;
canvasSaveOrNot当玩家在绘图区域进行了操作但没有点击保存时的弹窗提示;
canvasDeleteOrLoad当玩家在canvasHuaLang里选择其中一张画稿时的弹窗消息,可选择加载画稿到绘图板或者删除该画稿和取消。
这里补充一些代码操作场景里物体的基本方法,
方法一:在monobehaviour里命名Public Gameobject ObjectName,在unity的inspector面板里,该脚本组件里会出现一个可选框,我们将Hierarchy里的物体拖入该框即可。
方法二:在代码里可以根据名称获取hierarchy里的物体,GameObjectName=GameObject.Find("GameObjectName");
如上图即canvasTuKu和TuCeng启用时的效果。(图库和画廊里加载文件夹里的操作在下部分详细介绍)
按钮动画
事实上,这里要说的不仅仅是按钮动画,但都是UI上的动画。
在选中按钮动画时的按钮状态:
Normal Trigger:按钮正常状态
Highlighted Trigger:鼠标指针在按钮上时的状态
Pressed Trigger:按钮被点击时的状态
Ctrl+6打开动画系统,简单的按钮动画如下:
这个动画效果是,鼠标靠近时,按钮先瞬间变大1.25倍并持续变小,在播放到17帧的时候变为1.15倍。
这就是动画基本操作(关于动画状态机的问题我将在另一个项目里介绍)。
下面是画笔被选中时的动画:
同理,对画笔进行简单的旋转。