[Unity3D]Unity3D游戏开发之连续滚动背景
在诸如天天跑酷等2D游戏中。因为游戏须要表现出运动的感觉。通常都会使游戏背景连续循环滚动以增强视觉效果,那么今天。博主就来带领大家一起来实现连续滚动背景吧。
首先来讲述一下原理。准备两张连续的图片(博主这里使用了一张图片,好吧,我偷懒了),我们使用正交投影的摄像机对准第一张背景,然后使用脚本让图片自右向左開始移动,当第一张图片移出摄像机的视野时。第二张图片马上接在第一张图的后面,继续向左移动,而当第二张图片移出摄像机视野时,第一张图片会马上接在第二张图片的后面,如此周而复始,就实现了连续滚动背景。好了,以下,我们一起開始,首先我们创建一个空的项目,我们须要增加一个Plane并将其命名为Bg0、一个 平行光源。
參数设置例如以下图:
接下来。我们 将 实现准备好的背景图片拖放到Bg0上,然后调整摄像机的视野大小,使第一张图片恰好位于其视野中,然后我们将Bg0复制出一个副本并命名为Bg1。调整其位置,使其接在第一张图片的后面,此时,场景效果例如以下图:
好了。接下来。我们開始编写脚本。代码十分简单:
- using UnityEngine;
- using System.Collections;
- public class BGControll : MonoBehaviour {
- //Move Speed;
- private float mSpeed=3.0F;
- void Start ()
- {
- }
- void Update ()
- {
- //Translate form right to left
- transform.Translate(Vector3.right * Time.deltaTime * mSpeed);
- // If first background is out of camera view,then show sencond background
- if(transform.position.x<=-11.8F)
- {
- //We can chenge this value to reduce the wdith between 2 background
- transform.position=new Vector3(11.8F,transform.position.y,transform.position.z);
- }
- }
- }
我认为大家对代码应该不会有什么疑问吧,唯一的疑问可能来自于-11.8。这个值是第一张图片离开摄像机视野的临界值,这个值怎么得到呢。大家能够将游戏视图改为标准视图,然后用鼠标拖动第一个背景图片来获取,这里就不再多说了,最后来看下游戏执行效果吧。
以后的效果演示都会採用动画演示,希望大家喜欢,谢谢!
补充内容:经过博主自己研究,假设在画面滚动的时候出现缝隙,这是因为两个画面在运动过程中相互碰撞导致的,所以我们仅仅须要将其碰撞器勾选isTrigger取消碰撞就可以,
转载:本文出处:原文出处
[Unity3D]Unity3D游戏开发之连续滚动背景的更多相关文章
- Unity3D游戏开发之连续滚动背景
Unity3D游戏开发之连续滚动背景 原文 http://blog.csdn.net/qinyuanpei/article/details/22983421 在诸如天天跑酷等2D游戏中,因为游戏须要 ...
- 《Unity3D/2D游戏开发从0到1》正式出版发行
<Unity3D/2D游戏开发从0到1>正式出版发行 去年个人编写的Unity书籍正式在2015年7月正式发行,现在补充介绍一下个人著作.书籍信息: 书籍的名称: <Uni ...
- Unity3D手机游戏开发
<Unity3D手机游戏开发> 基本信息 作者: 金玺曾 出版社:清华大学出版社 ISBN:9787302325550 上架时间:2013-8-7 出版日期:2013 年8月 开本:16开 ...
- 关于《Unity3D/2D游戏开发从0到1》书籍再版说明
关于<Unity3D/2D游戏开发从0到1>第一版本在2015年7月1日全国发行,累计得到不少国内高校教师.培训机构的好评.但是由于Unity官方对于技术不断的升级与版本的快速迭代,基于U ...
- 《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
前几天,个人著作<Unity3D/2D游戏开发从0到1(第二版)>经过七八个月的技术准备以及近3个月的日夜编写,在十一长假后终于完稿.今天抽出一点时间来,给广大热心小伙伴们汇报一下书籍概况 ...
- Unity3D 入门 游戏开发 Unity3D portal game development
Unity3D 入门 游戏开发 Unity3D portal game development 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com ...
- Unity3D独立游戏开发日记(二):摆放建筑物
在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有 ...
- Unity3D独立游戏开发日记(一):动态生成树木
目前写的独立游戏是一个沙盒类型的游戏.游戏DEMO视频如下: 提到沙盒类型的游戏,就有人给出了这样的定义: 游戏世界离现实世界越近,自由度.随机度越高才叫沙盒游戏.所谓自由度,就是你在游戏里想干啥就干 ...
- Unity3D小游戏开发之两个我踩过的坑
最近在开发一个植物大战僵尸小游戏,今天写了一早上的代码,踩了两个坑,这两个坑的位置分别位于触发器和数据转换,写这篇博文以此来让其他程序员不要再去踩这两个坑. 1.我在做简易僵尸模型的时候,这个僵尸模型 ...
随机推荐
- 剑指Offer(书):斐波那契数列
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 分析:第一种方法:递归,45时,时间为5s,50时,我就等不及了.原因是重 ...
- js总结(四):关于高性能
参考<高性能网站建设进阶指南> 不仅仅关注页面加载时间,也要关注下页面操作时的相应速度.页面操作是我们写程序中 实实在在需要的 1.使用局部变量 任何非局部变量,在函数中使用次数超过一次时 ...
- jQuery中attr和prop方法的区别
jQuery中attr和prop方法的区别。 http://my.oschina.net/bosscheng/blog/125833 http://www.javascript100.com/?p=8 ...
- STM32F407 串口通信实验 视频第27节 个人笔记
前言 第26节也是串口,笔记链接在此:https://www.cnblogs.com/YuQiao0303/p/10019362.html github地址:https://github.com/Yu ...
- zoj 2722 Head-to-Head Match(两两比赛)
Head-to-Head Match Time Limit: 2 Seconds Memory Limit: 65536 KB Our school is planning to hold ...
- linux centos7 swap 设置 添加 删除
操作 需要 root 用户 权限 dd 命令 创建swap用的分区文件 /var/swap dd if=/dev/zero of=/var/swap bs=1024 count=2048000 ...
- BGP路由属性详解
Weight属性:cisco私有的BGP属性参数,它只适用于一台路由器中的路由,也就是不会传递给任何其他的路由器.他的取值范围为<0-65535>,这个数越大优先级越高,默认从邻居学到的路 ...
- 匈牙利游戏(codevs 1269)
题目描述 Description Welcome to the Hungary Games! The streets of Budapest form a twisted network of one ...
- 【HDOJ6298】Maximum Multiple(数论)
题意:给定n,求x,y,z三个整数,使得x|n,y|n,z|n,且xyz最小 n<=1e6 思路: 不定方程1/x+1/y+1/z=1 只有(2,3,6)(2,4,4) (3,3,3)三组正整数 ...
- msp430入门编程42
msp430中C语言的软件工程--事件触发程序结构
