1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Unity初级坦克大战游戏实现(Battle Tank)带工程源码资源包(二)

Unity初级坦克大战游戏实现(Battle Tank)带工程源码资源包(二)

时间:2020-10-21 03:41:54

相关推荐

Unity初级坦克大战游戏实现(Battle Tank)带工程源码资源包(二)

记学习Unity后第三次做游戏

接着上会继续讲,上回讲到了资源和场景的预处理方法,这次要往场景里面添加元素及创建预制体,上次已经调整好了画布和摄像机在场景中的位置,以及各物体在场景中的UI大小,这次就可以准备预制体的制作了。

首先是地图有关的,一张张地拖到Hierarchy面板当中去,记住是一张张的拖,,那些需要有动画效果的先不要拖,暂时先搁置,如果几张一起拖的话你会发现创建了一个新的文件要你重命名,这个操作接下来讲。拖好后把这些都选中,把他们的Transform组件都Reset一下,这时如果你的地图设置为20*20的,并且分辨率也设置过了,那么需要调整Transform组件的Scale缩放来适配你的分辨率和地图,直到大小都合适,地图长宽刚好可以放下20个墙,这样就可以了,还有玩家和敌人的UI大小要比墙稍微小一点,这样过缝隙的时候可以好过一点。

设置好上面那项再进行拖拽会省事很多,不然一般还要一点一点对齐。

现在再来设置那些有动画效果的游戏物体,比如资源中的river,有两张被分割好的图片,直接把那两张图片选中拖入Hierarchy面板中,出现创造窗口时,把文件名改为River,创建AnimationAnimation Controller文件夹,文件保存在Animation文件夹下,资源目录下就会多出两个文件夹,另外Hierarchy下也会多出一个游戏物体,物体上会有Sprite Render精灵渲染器和Animator动画机两个组件,这时的river就变成动画了,直接做成预制体就可以用了。设置播放速度的话是在Window=>Animation=>Animator里面设置,点击打开窗口里面的River,右边有Speed的选项修改速度,默认为1。当然,这样添加动画只适用于单个动画操作,例如玩家和敌人的动画还是需要另行添加的。

现在就要进行分析了,墙可以被摧毁,阻挡玩家前进,子弹碰撞后要销毁,所以墙要添加Box Collider2D碰撞器;草丛可以穿过,且玩家进入会被隐藏,墙的优先级要比玩家高(在属性面板中的精灵渲染器中,叫层级中的顺序:Order in Layer,调高就是优先级高,在上层显示);玩家和敌人与地图的物体都会碰撞,且玩家移动会发出声音,但是只有collider的话是不能碰撞到的,需要添加刚体组件Rigidbody2D和声音Audio Source组件;等等之类都是相同的,在Inspector面板里每个物体还可以添加Tag来便于区分,也方便代码的撰写。

这样差不多地图的逻辑也弄好了,画面右边要放置一个带collider的物体来作为UI面板,上面放置一些Text来存放玩家生命之类的。玩家的动画播放需要在玩家的身上添加四个动画效果,分别是上下左右,分别以拖拽的方法添加四个Animation后,打开动画机将四个创建好的Animation都拖入到动画机里面,动画机的入口是向上的动画,因为生成玩家的第一时间玩家就是向上的状态,然后右键Any State加联系到四个动画机上,因为有可能从上突然变到下了,就是从任何状态都有可能变到其他状态,然后在左边面板添加跳转条件,因为代码是有HorizontalVertical共同控制移动,所以加入的条件便是h和v的变化,h>0就转向右边,v>0就转向上边,左边添加完就点击连线,Conditions下面看情况添加h和v,然后设置less0或greater0。

点击连线后的右边设置一定要像我这样设置!,不然动画播放后会出现奇怪的事情,具体可以自己试验下。

到这里场景的搭建和素材的准备基本已经充分了,剩下的就是代码逻辑部分了,这篇文章的内容就到这里了,到这期结束之后我会把工程源码和资源包都以网盘链接发给大家的,谢谢观看,有不对的请大家提出,多多担待。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。