Unity3D循环滚动的背景图片,制作方法
最近用unity4.3做个2d平台游戏,背景循环的问题搞得我头大了,如果用锚点连接图片有点小题大做,于是发现了下边这篇文章.
建议大家看文章中提到的这个例子插件android game example ,下载地址:泽国论坛(这个论坛好棒呀,下载免费,不像大多数论坛那样动不动积分,权限,收费之类的)http://www.zeguoren.com/forum.php?mod=viewthread&tid=6028
真是抱歉,从今天起才认真的翻阅android game example 这个插件,开始熟悉一下外国佬的一些编程方式,相信很多人没有看过我就当做一个记录吧,都是一些简单的小东西。
首先就是这个滚动的背景图,也许叫“跑马灯”会比较好理解。
来看看效果:
看起来这博客系统还不那么差,至少可以播放gif。
这种滚动背景很容易让我想到的就是,跑酷类游戏,空战游戏,总之类似的横版游戏,当然了现在的游戏设计都变得很精致了,相信这样级别的背景还不能满足吧~
这个例子我们不借助任何第三方的精灵插件,都用原始的控件来,我们需要准备的就是一个cube,当然plane也可以。
现在新建一个场景,准备一个正交相机,一个plane,一个灯光,一个material,一张图片,现在调整好位置当该就变成了这样:
好吧现在我们让background上的贴图滚动(事实上这就1分钟的事儿,打成字居然这么麻烦,真是是该考虑制作视屏了),注意到这个了么:
试着变化一下offset的x的值,哇~图片变化了,好吧其实没有什么神奇的~
接着我们就让它自动变化便是了
加上我们的滚动脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
using UnityEngine; using System.Collections; public class ScrollingByOffset : MonoBehaviour { /// <summary> /// 滚动速度 /// </summary> public float _Speed; /// <summary> /// 滚动的材质载体 /// </summary> private Material _ScrollMaterial; void Start() { this ._ScrollMaterial = renderer.material; } void Update() { this ._ScrollMaterial.mainTextureOffset = new Vector2(_Speed * Time.time, 0); } }
|
跑起来瞅瞅,似乎还不错。
接着调整一下灯光,图片的大小(图片最好大到超出相机的视野,效果会好很多)。
接着我把资源和代码贴上来,各位有兴趣可以试试。