最近用unity4.3做个2d平台游戏,背景循环的问题搞得我头大了,如果用锚点连接图片有点小题大做,于是发现了下边这篇文章.
真是抱歉,从今天起才认真的翻阅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);
}
}
|
跑起来瞅瞅,似乎还不错。
接着调整一下灯光,图片的大小(图片最好大到超出相机的视野,效果会好很多)。
接着我把资源和代码贴上来,各位有兴趣可以试试。