像素鸟简单的背景设置_01
来源:互联网 发布:asp.net crm系统源码 编辑:程序博客网 时间:2024/05/18 01:27
【注】源码下载地址http://download.csdn.net/detail/yy763496668/9838697
我们在玩的像素鸟的时候,我们控制的小鸟并没有移动,而是后面的背景在循环的滚动。后面的背景就是两张精灵在循环的利用,比如第一张图片在我们视野范围内的时候,我们就需要将第二张图片紧随其后的放在第一张的后面。当第一张图片消失在我们的视野范围的时候,我们就可以将第一张放在第二张的后面。
根据以上的思路我们有两种实现的方式:
第一种使用动画
第二种使用代码
我们这篇博文说的就是第二种
首先我们创建一个空物体命名为Ground在空物体上添加SpriteRenderer并选择Sprite为GrassThinSprite
其次给Gound添加Box collider 2D ,我们可以看到碰撞器的宽度就是北京图片的宽度见 Size.X,我们可以通过设置Size.Y的值调整碰撞器的大小。通过设置offset来调整碰撞器的偏移量。
然后给Gound添加刚体Rigidbody2D 设置BodyType 为Kinematic 否则在放置第二张北京图片的时候会有物理作用力,两张北京图片之间会有空隙。
以上内容设置好后,我们开始写脚本:
以下脚本是用来重设北京图片的,具体的脚本解释看代码注释
using System.Collections;using System.Collections.Generic;using UnityEngine;public class ResetBackGround: MonoBehaviour { //自身碰撞器的长度 private BoxCollider2D groundCollider; //地面的长度 其实就是图片的长度 private float groundHorizontalLength; // Use this for initialization void Start () { //获取自身的碰撞器 groundCollider = transform.GetComponent<BoxCollider2D>(); //碰撞器的长度就是地面的长度 groundHorizontalLength = groundCollider.size.x; } // Update is called once per frame void Update () { //计算发生偏移的位置 if (transform.position.x<-groundHorizontalLength) { //满足条件,就发生偏移 RepositionBackGround(); } } void RepositionBackGround() { //计算重置背景图片时的位置和重置后的位置之间的偏移量 Vector2 groundOffSet = new Vector2(groundHorizontalLength * 2.0f, 0); //重置图片后的位置 transform.position = (Vector2)transform.position + groundOffSet; }}
以下的脚本是用来控制背景图片的移动的,这个脚本在后面的柱子的移动也会使用到
using System.Collections;using System.Collections.Generic;using UnityEngine;public class MoveObject : MonoBehaviour { private Rigidbody2D m_rigidbody; // Use this for initialization void Start () { //获取自身的刚体 m_rigidbody = GetComponent<Rigidbody2D>(); //设置刚体的速度 m_rigidbody.velocity = new Vector2(-1.5f, 0); } // Update is called once per frame void Update () { }}
背景的设置先介绍到这里,如有瑕疵,多多指教!
0 0
- 像素鸟简单的背景设置_01
- Android基础知识_01像素的单位
- ActionBar简单的背景颜色设置
- UITableViewCell 的简单背景以及 选中背景设置
- 一个简单的Cairngorm框架例子_01
- 像素鸟柱子的设置_03
- 像素鸟(flapybird)的简单实现
- 像素鸟(flapybird)的简单实现
- 简单记录,设置一体化状态栏背景颜色的方法
- 07_01.简单表格
- 简单button样式的设置(不是直接将背景设置为图片,而是设置背景的颜色)
- 设置对话框的背景
- 设置透明的背景
- 设置NavigationBar的背景
- 设置JPanel的背景
- eclipse的背景设置
- UITableViewCell的背景设置
- Dialog背景的设置
- Delaunay三角剖分
- 使用oracle自带工具sqlloader导入文本
- 自己实现Spring IoC容器(四)IoC容器的Bug
- uic: Error in line 1, column 38 : Encountered incorrectly encoded
- HTTP Header 响应实例
- 像素鸟简单的背景设置_01
- Tensorflow学习笔记
- java___for Arrays.sort插入一个元素
- 496. Next Greater Element I
- linux vi/vim编辑器常用命令与用法总结
- php实现socket
- 信息安全工程师 学习笔记(十四)
- c中字符串截取
- IE和Firefox兼容性