炉石传说——冒险模式 开始场景建立
最近几天一直在看泰克在线siki老师的炉石传说的视频教程。刚刚做完开始场景,故在此做个小结。
看官们注意啦,开始场景有以下几个看点:(1)首先是非常炫酷的开场视频播放。当然如果玩家经常玩此游戏肯定不想一遍又一遍的看这个视频,所以我们要单击一次鼠标时屏幕上一行淡淡的文字:点击继续。再次点击退出视频播放,进入炉石传说的logo(2)接下来当然可以看到几个非常好的动画效果啦:logo变大又恢复原始大小、logo下面一行文字点击继续游戏忽明忽暗忽隐忽现啦。(3)按照常规我们继续点击就会进入到我们的英雄选择界面啦,其实就是酱紫的。在英雄选择界面,我们可以选择自己中意的英雄,并且在右上边可以看到我们选择的英雄的图标和名称。右下角就是我们的开始进入游戏的按钮。
以上3点就是我做的界面。说起来挺简单的,其实做起来也是挺简单的。我先把界面的截图发一下,证明我所言不虚。
下面就分享点儿开发过程中的干货吧。这个简单的开始场景的框架如下:StartSceneController中负责视频的播放,单击鼠标停止播放视频然后显示Logo,以及单击Logo可以进入英雄选择界面。这是整个场景最重要的脚本了,它主要控制与玩家点鼠标的交互,也就是负责不同界面的切换。可能只说这一个脚本有点不知所云。其实整个场景是由如下4个脚本构成的:StartSceneController.cs、BlackMask.cs、SelectHero.cs和VSShow.cs。
BlackMask.cs脚本的作用就是显示和隐藏黑色的遮罩,就像最后一幅图那样一个黑色遮罩遮住了它下面的英雄选择界面,不过还能淡淡地看到一些选择界面的轮廓。在这里的作用就是点击第三幅图中右中间偏下角的按钮后,该黑色半透明遮罩显示盖住选择界面,然后在其上展示出对战的动画。
SelectHero.cs脚本的作用顾名思义,就是当我们点击一个英雄图标(其实是按钮),观察第三幅图(那四个图左下方的),就会在右边显示出该图标和名称,抱歉在这里我把名字用1、2、3等等表示了,没有用九大英雄的大名。这里,9个英雄图标的作用是一样的(添加按钮的脚本,充当按钮,接受点击,必须加上Collider哦,这是NGUI的规定;添加SelectHero.cs脚本,有一个接收鼠标点击的事件处理函数,此函数可以得到被点击的图标的名称,从而改变右上角的图标的SpriteName属性,图标的样子就神奇的发生了变化)。因为他们的作用是一样的,所以就可以做出一个预设体,然后将预设体放到游戏场景中就好了,预设体的UISprite的精灵肯定是不一样的,但是脚本的功能都是一模一样的啦。
VSShow.cs脚本的作用就是定义了一个public函数Show(string hero1,string hero2)供外部引用,作用是显示两个对战的英雄的图像。当我们点击选择英雄界面的开始按钮时,StartSceneController.cs脚本中的OnPlaybackVSInterface()函数就会被触发被调用,在此函数中显示对战动画,并且使用协程技术使得该对战动画显示2s后转换场景。