(1)启动unity应用程序,在弹出的对话框里单击New project 按钮

(2)我们要得到的效果


(3)首先用户在玩这个游戏的时候小鸟是不断向前飞的,我们知道unity中用户眼睛看到的界面就是摄像机拍到的界面,这时为了让我们的背景图片一直存在,我们就可以考虑添加两张一模一样的背景图片,添加代码,实现党小鸟飞过一张背景图片正好下一张背景图片可以跟上来,防止出现空白背景
添加代码:点击Main Camera 在Asseta文件夹中右击然后点击Create–C# Script–改名BgMove

using UnityEngine;
using System.Collections;

public class BgMove : MonoBehaviour {

public GameObject bg1;
public GameObject bg2;public float  speed_t=10f;public float offset=2.88f;
// Update is called once per frame
void Update () {bg1.transform.Translate (Vector3.left*Time.deltaTime*speed_t);bg2.transform.Translate (Vector3.left*Time.deltaTime*speed_t);if (bg1.transform.position.x<-offset) {bg1.transform.position=bg2.transform.position+new Vector3(offset,0,0);}if (bg2.transform.position.x<-offset) {bg2.transform.position=bg1.transform.position+new Vector3(offset,0,0);}}

}

考虑到我们的小鸟有掉落的问题,在此我为图片背景添加了一个地面,同样的地面我也使用了两张一模一样的图片目的与上面所说的添加背景的目的相同,然后在地面上面添加了碰撞器和刚体

同样的我们的地面也和背景一样需要一张结束下一张立刻一跑过来,所以我们就需要在BgMove代码中定义land1和land2对象,在此我们为了省事,直接统一定义为Bg 1和Bg2
然后直接将我们要实现的对象拖入即可
(4)添加柱子,因为小鸟要过的柱子是上下都有,我们为了使上下两个柱子同时出现,并且可以对齐,可以将两个柱子当做一个整体

柱子应该随着时间的变化不断地产生,添加代码
using UnityEngine;
using System.Collections;

public class CreateZhuzi : MonoBehaviour {
public GameObject zhuzi;

public float time_t=0;void Update () {time_t += Time.deltaTime;if (time_t>2f) {Instantiate(zhuzi,transform.position+new Vector3(0,Random.Range(-1.5f,1f),0),Quaternion.identity);time_t=0;}}

}
小鸟需要通过两个竹子的中间,所哟我们应该给柱子添加一个Box Colider

(5)添加一个游戏对象Player
在这里我们的游戏对象就是鸟,可以将小鸟的图片添加到Player的Sprite中
同样的给小鸟添加刚体实现小鸟在场景当中的物理交互接受外力和扭矩力,为了在小鸟碰撞到地面或者柱子时触发死亡,则必须给小鸟添加一个碰撞体,在此我们添加一个盒碰撞体(Box Collider)
之后!小鸟添加飞翔的动画,点击Player然后Ctrl+6出现一个卡帧窗口

将小鸟飞的三种状态添加在不同的时间点上

在此我们要实现点击下屏幕小鸟就向上飞一下,添加点击事件,为了使游戏更加生动,我们可以在小鸟通过柱子时发出赢的声音,在飞翔的时候发出飞的声音,在死亡的时候发出死亡的声音。同时,因为小鸟向前飞的时候,之前产生的背景与柱子就没用了,那么为了节省资源,我们需要在小鸟飞过屏幕的时候,柱子自动消失
using UnityEngine;
using System.Collections;

public class Flybird : MonoBehaviour {
public Rigidbody2D myrigid;

public float speed_t=1;public GameObject soundObj;
public GameObject newSound;public bool flag_t=true;public GameObject cr_zhuzi;public GameObject bg_m;public Animator myAnim;public GameObject myPanel;public GameObject tutorial;void Start()
{Time.timeScale = 0;}void Update () {
if (flag_t) {if (Input.GetMouseButtonDown(0)) {Time.timeScale=1;tutorial.SetActive(false);//要播放 wing 的声音 soundObj.GetComponent<SoundManager>().Play_wing();myrigid.velocity=Vector2.zero;myrigid.velocity=new Vector2(0,speed_t);}}}
void OnCollisionEnter2D()
{//播放死亡声音soundObj.GetComponent<SoundManager> ().Play_die ();//停止背景移动  地面移动  柱子移动  柱子的产生  小鸟的点击 //不创建柱子cr_zhuzi.GetComponent<CreateZhuzi> ().enabled = false;//柱子不进行移动 zhuziMove[] allZhuzi = FindObjectsOfType (typeof(zhuziMove)) as zhuziMove[];foreach (zhuziMove item in allZhuzi) {item.speed_t=0;}//柱子的 碰撞器 关掉 GameObject[] a_zhuzi=GameObject.FindGameObjectsWithTag("zhuzi");foreach (GameObject item in a_zhuzi) {item.GetComponent<BoxCollider2D>().enabled=false;}//背景和地面 停止移动 BgMove[] tt = bg_m.GetComponents<BgMove> ();foreach (BgMove item in tt) {item.enabled=false;}//停止自身的动画myAnim.SetBool ("IsDie",true);//面板打开myPanel.SetActive (true);if (flag_t) {newSound.GetComponent<PlayDownSound> ().Play_down ();}flag_t = false;}public void ReTry()
{Application.LoadLevel (0);
}

}

unity2D小鸟飞过柱子小游戏相关推荐

  1. C语言跳过障碍物小游戏,html5飞翔的小鸟越过障碍物小游戏代码

    一款简单好玩的html5 canvas飞翔的小鸟越过障碍物小游戏代码,玩法:点击鼠标控制小鸟飞行. 查看演示 下载资源: 11 次 下载资源 下载积分: 30 积分 js代码 var cvs = do ...

  2. 【老脸教你做游戏】小鸟飞过障碍物的游戏(上)

    摘要 我们已经从最基础的画线填充.cavans2d context状态变换,做出了绘制封装类(Figure)以及动画类(Animation),就目前而言,这几个简单的类已经可以做简单的游戏了.这期就做 ...

  3. 秒会pygame:小鸟躲柱子的游戏(完整代码和素材)

    目录 预备知识 分步解读代码 完整的代码 素材 上一篇文章我们学会了pygame的一些基本函数,可将用键盘和鼠标移动物体了,这篇文章学习了碰撞函数之后,就可以做小鸟躲柱子的经典游戏了 pygame的物 ...

  4. 【老脸教你做游戏】小鸟飞过障碍物的游戏(下)

    上期我们只实现了小鸟飞行以及障碍物地图随机生成.绘制和滚动,这期我们要完成整个游戏的大体框架,即游戏运行的主体部分,而其他的比如计分,重新开始等不会去实现.文章最后会讲一些个人心得. 本期内容依旧是在 ...

  5. 今天带大家用Python制作一个FlappyBird(飞翔的小鸟)的小游戏

    相关文件 源码分享,问题解答!! 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 对了大家可以关注小编的公众号哟~~ 有很多资源可以领取的哟!! 大家也可以去b站看我的一些教学视频哟!! 更多P ...

  6. unity2D小游戏---飞翔的小鸟

    飞翔的小鸟 一.柱子的移动 二.小鸟的控制 三.游戏暂停开始 一.柱子的移动 1.制作柱子:新建空物体,包含上方柱子,下方柱子和空物体(用于计算得分) 2.给柱子和空物体加上适合大小的碰撞体 空物体需 ...

  7. java小游戏——飞翔的小鸟(java初学作品)

    注:学习了java基础后,做出来的一个小作品,可以用来巩固学习 概述: 飞翔的小鸟能够作为Java基础的收官之作,包涵了Java很多的基础知识,在学习完Java基础后,尝试编写一些东西,能够起到很好的 ...

  8. 【新手上路】Java必备小游戏——Flappy Bird(飞翔的小鸟)

    <飞翔的小鸟>是一款曾经比较火热的小游戏,本文可以带你你从零开始,一步一步的开发出这款小游戏.如果你只是刚入门java的新手,不用担心,只要你简单掌握了该游戏所需要的javase基础知识, ...

  9. js小游戏 (飞行的小鸟--canvas)

    js小游戏 (飞行的小鸟) 这个里面用到的主要是 canvas 绘图 <!DOCTYPE html> <html><head><meta charset=&q ...

最新文章

  1. QString与string的相互转换
  2. 如何设计并实现一个秒杀系统?(含完整代码)
  3. Android官方技术文档翻译——Ant 任务
  4. Generator-ing Values
  5. linux服务器性能监控命令汇总之free命令(四)
  6. 2.HTML基本格式
  7. Wince 隐藏TASKBAR的方法
  8. COJ 1170 A Simple Problem
  9. SharePoint Portal Server 2003 SP2对文档库事件处理程序所带来的影响
  10. php布尔类型代码,php中的boolean(布尔)类型详解
  11. 模式匹配运算符–Shell
  12. Windows下卸载TensorFlow
  13. 彻底卸载MYSQL,windows版
  14. linux服务器安装gmt,linux 安装GMT详解 (zhuan)
  15. 深度剖析MQTT协议的整个通信流程
  16. NiuMu PayPal/Stripe轮询系统 亲友转账模式同步回调支付结果
  17. 佳能尼康宾得等,说说查看各大单反品牌的快门次数方法
  18. NLP基础入门:Word2Vec模型
  19. 三级网络技术备考重点之中小型网络系统总体规划与设计
  20. Linux运维工程师学习大纲

热门文章

  1. yocto 下载代理
  2. select函数使用方法
  3. 计算机与书法专业,临帖要像?计算机“算法”精确你的每一个像素!震惊书法圈!...
  4. 拼多多无货源开店需要用哪些店群软件
  5. luckysheet 国产超强纯前端在线excel表格功能强大 简单使用记录 异常报错记录及处理
  6. 罗克韦尔AB PLC(RSLogix 5000)在线修改程序的具体方法示例
  7. lmi克罗内克积 matlab_LMI中有关于克罗内克积的决策变量,如何定义?
  8. 手机版kali nethunter刷入
  9. 03-Python基础语法(下)
  10. Geany的所有主题文件