Unity 3D酷跑类游戏场景循环

Unity 3D酷跑游戏场景循环

////////////////2015/07/05/////////////

///////////////by xbw////////////////////

///////////////环境 Unity4.6.1//////

经过一上午的学习与实验,终于实现了3D酷跑游戏的场景循环。。大喜。遂分享交流,共同学习。

在场景中建两个Plane作为地面,分别命名为Plane1,Plane2;

Position 分别设为0,0,50;0,0,150;

Scale分别设为1,1,10;1,1,10;

接着建立一个Cube,位置设为0,0.5,20;

Cube即为游戏人物,

Cube的方向控制代码;;;Csharp代码如下;

using UnityEngine;
using System.Collections;
public class playControl : MonoBehaviour
{
   public float movespeed =10f;
   void Update()
{

   if (Input.GetKey(KeyCode.UpArrow))
             transform.Translate(Vector3.forward * movespeed*Time.deltaTime);

   if (Input.GetKey(KeyCode.DownArrow))
           transform.Translate(Vector3.back * movespeed * Time.deltaTime);

   if (Input.GetKey(KeyCode.LeftArrow))
           transform.Translate(Vector3.left * movespeed * Time.deltaTime);

   if (Input.GetKey(KeyCode.RightArrow))
          transform.Translate(Vector3.right * movespeed * Time.deltaTime);

 }

}
创建一个C#script。。。
用将此代码写入;把它托给Cube;
为主摄像机添加Unity自带脚本,,,
添加过程:
<img src="http://img.blog.csdn.net/20150705130954455?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<img src="http://img.blog.csdn.net/20150705131004570?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
导入即可;;;
我们会看到多出来了代码文件夹;
<img src="http://img.blog.csdn.net/20150705131131773?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
将SmoothFollow托给主摄像机,Main Camera;;;
此时运行就可以看到效果了,可以用方向键控制Cube移动,我们要解决的问题是场景循环,
怎样实现两个Plane平面生成无限循环的场景,两个Plane一前一后,走过前边的Plane把他移到后一个Plane的后边;
并将Plane1删除;走过Plane2时,Plane2消失,移动到Plane3的后边,一次交替循环,实现场景的无线路;;;;
为了实现更好的效果,先给Cube添加重力效果,还有一些相关属性,如下;


其中我们为Cube添加了Tag————Player。。。

增加了Box Collider属性,,,

接下来新增两个Tag 分别命名为Plane1,Plane2;

在这将其命名;;;;;;

分别把tag-Plane1,tag-Plane2为Plane1,Plane2的子类;;;;

设置一下

tag-Plane1,tag-Plane2;

发现代码了吧;;;;

这个就是用来控制两个Plane交替循环的;;;;;

代码如下;;;;

using UnityEngine;

using System.Collections;

public class bgtrigger : MonoBehaviour

{

	GameObject bg;

	void Start()
   {
bg = new GameObject();
}

	void OnTriggerEnter(Collider e)
   {

if (e.CompareTag("Player"))

{

	if (gameObject.transform.parent.CompareTag("Plane2"))//父类

  		{

			 bg = GameObject.FindGameObjectWithTag("Plane2");

 			 bg.transform.position = new Vector3(0, 0, bg.transform.position.z + 200);

		 }

     	else

		{

   			 bg = GameObject.FindGameObjectWithTag("Plane1");

       			 bg.transform.position = new Vector3(0, 0, bg.transform.position.z + 200);

		 }

}

}

}

Box Collider 是触发器,,,,,,

当Cube走到这个位置时,即碰触到触发器,这时候相应的代码就会起作用;;;;;

看我设置的两个触发器的位置,要保证充足的重叠部分,最开始是总是有错误,

发现触发器正好在两个路的末端,这样的话,Cube在走到两个路之间的时候就会发生物理现象,导致Cube失去方向,掉落;;;

足够的重组部分可以使画面流畅,,,不至于看到有部分无场景;;;;;;

我放了两颗树在触发器旁边是为了测试路生成时的具体位置,便于调整路生成的位置;;;;;

至于给路贴图,直接建材质,托给Plane就好了,不再多说;;;;

到这里,差不多了,赶快跟着实现一下吧,叙述的不太清楚,有问题留言我会及时给予回复,,,共同学习交流;;;;,

初学者,不喜勿喷,,,unity大牛请绕路;;;;



版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-04 11:27:23

Unity 3D酷跑类游戏场景循环的相关文章

《天天酷跑》游戏后台结构体标准化探 转

http://www.yxrb.net/thread-11839-1-1.html 在程序设计领域,程序就是数据结构加算法的理论早已深入人心.在手机游戏的后台系统中,数据结构就是各式各样的struct或class,遍布于数据存储(DB).内存(业务逻辑).网络(C/S交互协议),算法就是各种基于数据的业务处理逻辑了. 手机游戏后台数据结构有一些特点: 以整形数据为主,字符串类型比例很少,绝大部分数据可以用整形(直接或间接)表示. 相对大型端游,数据结构相对简单,绝大多数可以通过2-3层结构来抽象

火星时代教你使用Unity 3D免费版本编写游戏的教程(二)

*使用PlayerPrefs执行高分排行榜 *如何用文本域来执行搜集用户数据的对话框 *如何在Unity中执行作弊码 这些代码现在就在GitHub. 本文代码可能会比第1部分更多,现在载入Unity,点击一个脚本,开始吧! 使用PlayerPrefs执行高分排行榜 PlayerPrefs API乍一看可能相当有限.它有10个方法,其中包括DeleteAll(), DeleteKey(), GetFloat(), GetInt(), GetString(), HasKey(), Save(),Se

使用Doxygen + graphviz生成Unity 3d的UGUI类图

下载软件 1) Graphviz,下载地址:http://download.csdn.net/detail/u010953266/8591169 为什么不用官网?一是下载速度慢,二是下载到本地的文件貌似是有损坏的,每次安装都报错,后来直接放弃了,从其它地方搜到的: 2)Doxygen,下载地址:https://sourceforge.net/projects/doxygen/ 3)Unity UGUI的源码,下载地址:https://bitbucket.org/Unity-Technologie

【python游戏编程之旅】第九篇---嗷大喵快跑小游戏开发实例

本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 前几期博客我们一起学习了,pygame中的冲突检测技术以及一些常用的数据结构. 这次我们来一起做一个简单的酷跑类游戏综合运用以前学到的知识. 程序下载地址:http://yunpan.cn/cLIcJgTvq4tZS 访问密码 901f 源代码网盘地址:http://yunpan.cn/cLIc67S4nNRFY 访问密码 c139 github地址:https://github.com/XINCGer/

零基础Swift实战开发从入门到精通(4大项目实战、酷跑熊猫、百度音乐、足球游戏等)

第一部分:Swift基础语法 第1节:变量 第2节:常量 第3节:使用PlayRound编写Swift程序 第4节:类型检查与推断 第5节:类型别名 第6节:计算器 第二部分:字符和字符串 第1节:字符(Characters) 第2节:字符串-定义 第三部分:数据类型(DataType) 第1节:整型(int.Uint) 第2节:浮点数 第3节:Bool 第四部分:数据类型转换 第1节字符串转换数字类型 第2节数字类型转换字符串 第3节:数字类型之间转换 更多............ 项目实战一

Android版xx助手之天天酷跑外挂详细分析

Android版xx助手之天天酷跑外挂详细分析 图/文      莫灰灰 背景 近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯.当腾讯的微信平台接入手机游戏之后,移动端的游戏也开始火了起来,这更是改变了人们长久以来的游戏娱乐习惯.茶余饭后,小伙伴们掏出"家伙"打个飞机已是习以为常的事情了.加之移动客户端游戏开发周期短,投入少等特点,很多初创公司也纷纷投入到这个领域中来,并且很多游戏都取得了不错的成绩.就在前不久,全球游戏巨头暴雪的新游戏<炉石传说>也推

Android版xx助手之天天酷跑外挂具体分析

Android版xx助手之天天酷跑外挂具体分析 图/文      莫灰灰 背景 近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯.当腾讯的微信平台接入手机游戏之后,移动端的游戏也開始火了起来,这更是改变了人们长久以来的游戏娱乐习惯.茶余饭后,小伙伴们掏出"家伙"打个飞机已是习以为常的事情了.加之移动client游戏开发周期短,投入少等特点,非常多初创公司也纷纷投入到这个领域中来,而且非常多游戏都取得了不错的成绩.就在前不久,全球游戏巨头暴雪的新游戏<炉石传说&

Unity 3D入门简介

最近在刚开始学习Unity 3D,在这里记录一下学习心得和学习笔记,边学边写,可能会比较零散.好了,废话不多说,今天从Unity 3D入门写起,主要简要介绍一下Unity 3D的和一些学习资料.以下如果不作特别说明,均是指Windows平台的Unity 3D,版本是4.5.1f3. Unity 3D是一款游戏开发引擎,目前支持2D和3D游戏的开发,其最大的优势就是跨平台性非常好,可以很容易的将PC端制作的游戏移植到Android.IOS等移动平台,当然也可以创建网页游戏.刚开始进行Unity 3

Unity 3D:在现有的Android游戏场景中显示AdMob的横幅

关于如何在现有的Android项目现场显示AdMob的横幅,在一个Android项目中使用一个简单的Android JAR文件似乎不是一个简单的事情.我终于设法让AdMob在现有工作统一安卓游戏.对于本例,我使用统一为Windows版本3.5.2和最新的Eclipse为Android插件. 先决条件我假设您有一个工作在你的电脑上安装Android的Eclipse插件.如果没有,请按照本教程准备工作区: https://github.com/unity-plugins/Unity-Admob. E