【注】源码下载地址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 initializationvoid Start () {//获取自身的碰撞器groundCollider = transform.GetComponent<BoxCollider2D>();//碰撞器的长度就是地面的长度groundHorizontalLength = groundCollider.size.x;}// Update is called once per framevoid 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 initializationvoid Start () {//获取自身的刚体m_rigidbody = GetComponent<Rigidbody2D>();//设置刚体的速度m_rigidbody.velocity = new Vector2(-1.5f, 0);}// Update is called once per framevoid Update () {}
}

背景的设置先介绍到这里,如有瑕疵,多多指教!

像素鸟简单的背景设置_01相关推荐

  1. Photoshop简单案例(7)——利用对象选择工具将图片背景设置为透明

    目录 一.项目介绍 二.基本流程 三.效果演示 四.拓展 一.项目介绍 工具栏中第四个工具包括三个工具:对象选择工具.快速选择工具和魔棒工具.这三个工具主要用于智能抠图,而本文中的将图片背景设置为透明 ...

  2. python像素鸟游戏

    目录 1.引言 2.系统结构 2.1 总体结构 2.2 局部结构 2.2.1 main模块结构 2.2.2 Bird模块结构 2.2.3 Tubing模块结构 3.代码实现 4.实验 5.总结和展望 ...

  3. CocosCreator像素鸟小游戏实现(有源码)超详细教程 TS实现小游戏 零基础开发

    CocosCreator像素鸟小游戏实现(有源码)超详细教程 TS实现小游戏 大家中秋国庆快乐哈 前言 老规矩先看效果 源码的获取方式在最下面 对于本游戏来说canvas这样设置最佳哦 游戏实现思路: ...

  4. html5实现像素鸟,有趣的Axure案例:像素鸟游戏的设计

    原标题:有趣的Axure案例:像素鸟游戏的设计 这是作者第三次发布有关axure游戏的内容了,相比较前两次而言,此次的设计更加完善,难度相应的也要高很多.游戏基本上已经趋于完整,加入了game ove ...

  5. 像素鸟多线程java_用java Swing做的小游戏像素鸟-Go语言中文社区

    最终效果 整个项目都是基于swing实现的.窗是口将图片加载到JPanel面板,然后将面板添加到到JFrame窗口实现显示. 这个类是选择几只像素鸟的类,也是main函数里执行的方法,代码有详细的注释 ...

  6. 使用unity3d制作像素鸟游戏

    个人博客文章链接:http://www.huqj.top/article?id=140 unity3d虽然是被设计用来制作3D游戏的,但是它提供了很多2D组件,所以也可以轻松的设计制作2D游戏,下面记 ...

  7. html5实现像素鸟,[Swift]SpriteKit实现类似像素鸟的小游戏 - Crashy Plane

    像素鸟曾经非常火爆,游戏简单,很有趣味性,仿写一个叫 crashy plane 的游戏,它的原理跟像素鸟是一样的,接下来用 SpriteKit 来实现它 同时推荐一个不错的学习 Swift 的网站,这 ...

  8. 原生JS:100行js代码带你实现【像素鸟】小游戏(完整代码+素材图片)

    系列文章目录 JS:经典小游戏:像素鸟 JS:经典小游戏:贪吃蛇 JS:经典小游戏:扫雷 目录 系列文章目录 像素鸟 1.游戏介绍 2.代码分析 3.代码实现 3.1 随机生成水管 3.2 当水管超过 ...

  9. 用java Swing做的小游戏quot;像素鸟quot;

    最终效果 整个项目都是基于swing实现的.窗是口将图片加载到JPanel面板,然后将面板添加到到JFrame窗口实现显示. 这个类是选择几只像素鸟的类,也是main函数里执行的方法,代码有详细的注释 ...

最新文章

  1. 论Docker swarm与Kubernetes孰强孰弱
  2. 深度丨全球14家顶尖 AI 产业巨头深度学习实力及战略分析
  3. 智能车竞赛提问回复-2021-3-25
  4. PHP关键字'var'有什么作用?
  5. UA OPTI512R 傅立叶光学导论14 Wiener-Khinchine定理,Rayleigh定理与矩定理
  6. java购物菜单的选择功能_java-第四章-升级我行我素购物管理系统,实现购物菜单的选择...
  7. LiveVideoStack 主编观察 01
  8. .NET开源工具类库:Masuit.Tools
  9. 模板:2-SAT问题
  10. IDEA全文搜索排除无用的文件夹
  11. python语言中的数据类型之字典
  12. PyMOTW-3 (Python 3 Module of the Week) 翻译团队召集
  13. 如何在没有导入excel的情况下获取excel中的测试数据
  14. 手动安装Apache+PHP+MYSQL及环境配置
  15. Roson的Qt之旅 #117 QTcpSocket和QUdpSocket详细介绍
  16. 【基础编程】最大子列和问题
  17. (LeetCode1044)最长重复子串:给出一个字符串S,返回其最长重复子串
  18. android蓝牙hid 鼠标,BLE HID协议-----蓝牙鼠标代码流分析
  19. 四位数的可逆素数c语言,求四位的可逆素数。可逆素数指:一个素数将其各位数字的顺序倒过来构成的反序数也是素...
  20. Cubase中MIDI设备的如何创建面板

热门文章

  1. 项目工作日志20190702
  2. Java私有成员可以被子类继承
  3. 子网划分详解与子网划分实例精析
  4. iOS 项目couldn't load project
  5. weixin4j-pay~最简单的微信企业付款到银行卡SDK
  6. 基于HTML+CSS+JS的学堂在线首页静态页面源码
  7. submit 不触发ajax,Ajax submitHandler没有执行
  8. C++学习积累(长期更新)——符号相关
  9. 杭州python编程培训晚班
  10. Rootkit与后门隐藏