【Unity3D】连续滚动的背景
来源:互联网 发布:sai mac版打不开 编辑:程序博客网 时间:2024/05/16 05:22
在一些跑酷、赛车游戏之中,连续滚动的背景很常见。其实来来去去就是2张图片在不停变换。制作思想就是与《【Cocos2dx】连续滚动的场景》(点击打开链接)一模一样的。下面展示如何用Unity3D做出如下连续滚动的背景的效果。让人看起来那个Capsule是在不停地跑动的样子。
一、场景布置
1、在画图准备一张这样的图片,自己随便画都能画出来了,简笔画:
2、在Unity3D中的布置如下,这里2块10x10的Plane刚好拼成背景:
3、如下图,在Assets导入刚才画好的图片。
4、新建2个材质球,一个默认的白色,一个设置为刚才导入的图片,之后赋予给2个Plane。如果你看不到你赋予的材质,注意Plane的正反面,是否有沿Y轴旋转180度。
5、之后再添加一个Capsule,换到2D视图,用移动工具移到一个比较合适的位置,让Capsule逼真点,如图,这里就放到地面图的“地面”上。在将刚才新建的白色材质赋予给Capsule。
二、脚本编写
1、为Capsule编写一个旋转脚本,让其时刻在选装。不懂可以参考《【Unity3D】物体、材质的设置、物体位移与旋转》(点击打开链接)。
using UnityEngine;using System.Collections;public class Capsule : MonoBehaviour{ // Use this for initialization void Start() { } // Update is called once per frame void Update() { transform.Rotate(Vector3.up * 5); transform.Rotate(Vector3.right * 5); }}2、之后是给Plane编写一个时刻位移脚本,位移到一定位置重新打回原位置,让它继续滚,虽然是本文的核心脚本,但是也只是一个很简单的位移而已。
using UnityEngine;using System.Collections;public class Background : MonoBehaviour{ float speed = 3.0F; void Start() { } void Update() { if (transform.position.x < -10) { transform.position = new Vector3(0, transform.position.y, transform.position.z); } transform.Translate(Vector3.right * Time.deltaTime * speed); }}
不会脚本编写和赋予脚本的,可以参考《【Unity3D】Helloworld》(点击打开链接)。
至此整个工程就做完了。 0 0
- 【Unity3D】连续滚动的背景
- Unity3D游戏开发之连续滚动背景
- Unity3D游戏开发之连续滚动背景
- [Unity3D]Unity3D游戏开发之连续滚动背景
- [Unity3D]Unity3D游戏开发之连续滚动背景
- 【Unity3D自学记录】Unity3D游戏开发之连续滚动背景
- Unity 通过摄像机移动实现连续滚动的背景
- Unity3D~2D游戏背景的循环滚动
- Marquee 的连续滚动
- 连续的滚动
- 图片的连续滚动
- 背景的滚动
- 滚动背景的实现
- Unity3d学习笔记-无限循环滚动背景(完整的商店广告牌组件)
- 【unity3d学习笔记】Shader-通过Shader实现2D游戏中无限滚动的背景Shader
- 真正的连续滚动图片
- 真正的连续滚动图片
- 连续滚动的广告代码
- 字符串匹配的KMP算法---理解next数组的意义
- html5 svg文字text操作
- elasticsearch之mapping配置
- android java进程管理(四)之进程记录表(ProcessRecord)
- jquery validate 取消验证
- 【Unity3D】连续滚动的背景
- 算法训练 传纸条
- 客户端检测
- MongoDB的创建、更新和删除
- Drozer--Android APP安全评估工具
- HTTP Referer
- 利用阿里大于实现发送短信(JAVA版)
- Linux基础整理
- poj 1273 Drainage Ditches 【图论-网络流-最大流-Ford-Fulkerson】