在搭建好基本的场景后,我们要开始进入正题了。好了,让我们开始脚本的编写。
一、小鸟的脚本Bird.cs
首先我们能看到小鸟的图片是有三个的,对应不同飞翔状态的三帧
然后我们在小鸟的材质上做些小改动
这里的Tiling的X轴我们设为这个值,为神马呢?因为我们每帧只需要一张图片呀,也就是取整张图片的1/3,然后Offset这个我们会在代码中用到,用于每帧取1/3图片的小鸟。
记得给小鸟物体也就是Bird添加一个标签“Player”,这样方便我们触发器的检测。
下面上代码(注释的代码暂时不用管)

using UnityEngine;
using System.Collections;public class Bird : MonoBehaviour {private float timer=0;//计数器,记录1帧的时间private int frameNum = 6;//我们设置为每秒6帧private int frameCount=0;//计算当前的帧数private float offesetSpeed = 0.3333f;//偏移量//private float currentBirdSpeed;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {timer+=Time.deltaTime;if(timer>=1.0f/frameNum)//上面这句话用来判断是否满足当前时间大于或等于1帧的时间{frameCount++;//值+1,代表当前是第几帧timer -= 1.0f/ frameNum;//重置计数器int frameIndex = frameCount % 3;//使该值为0或1或2this.renderer.material.SetTextureOffset("_MainTex", new Vector2(frameIndex * offesetSpeed, 0));
//意思是设置主纹理(我们就一张纹理图)的偏移量,让他偏移1/3或者2/3或者0,意味着每0.5秒我们就能让小鸟煽动翅膀一个来回}/*if(GameManager.gameInstance.currentGameState == (int)GameManager.GameState.GAMEISPLAYING ){*/if(Input.GetMouseButtonDown(0)){**audio.Play();**this.rigidbody.velocity = new Vector3(this.rigidbody.velocity.x, 5, this.rigidbody.velocity.z);}//当我们按下左键的时候给小鸟(要给小鸟加上刚体组建)一个向上为5的速度,当然前提是我们给小鸟使用重力,这样我们就能让小鸟在我们点击屏幕的时候向上升起一下咯// }}/*public void GetTheGameBegin(){currentBirdSpeed = MainSeceneManager.gameLevel;this.rigidbody.velocity = new Vector3(currentBirdSpeed, 0, 0);this.rigidbody.useGravity = true;}
}*/

好了,这样我们就能让小鸟一直在煽动翅膀了

FlappyBird开发总结(三)——小鸟脚本,让小鸟煽动翅膀相关推荐

  1. UGF游戏框架实例开发教程—FlappyBird(七)子弹发射与小鸟飞行功能的实现

    与之前的操作类似,新建一个子弹的实体数据类,命名为BulletData /// <summary>/// 子弹实体数据/// </summary>public class Bu ...

  2. 云计算Python自动化运维开发实战 三、python文件类型

    为什么80%的码农都做不了架构师?>>>    云计算Python自动化运维开发实战 三.python文件类型 导语: python常用的有3种文件类型 1. 源代码     py ...

  3. IT小小鸟VS.小小小鸟:展翅,我们一起翱翔!

    10月17日.我们一行人去到位于大兴的北大软微学院. 是个清静的好去处.可惜太远.离地铁4号线终点站还有十几公里的路程.但也许,正是由于她的地理位置,她才格外地像,别样的自家殿堂.其间空气清新,学生相 ...

  4. Nutch开发(三)

    Nutch开发(三) 文章目录 Nutch开发(三) 开发环境 1.Nutch url过滤 2.示例 3.在Solr建立index 关于solr字段的配置 4.关于Nutch plugin 5.关于N ...

  5. 【蓝鸥Unity开发基础三】课时14 刚体

    [蓝鸥Unity开发基础三]课时14 刚体 一.刚体 物理引擎: 物理引擎能够真实的模拟物理效果 Unity中使用的是NVIDIA的PhysX物理引擎 在Unity中使用Rigidbody让游戏对象受 ...

  6. 前端技术周刊 2019-01-21:跨端开发的三条路线

    2019-01-21 前端快爆 微软 Edge 开发者意图为 Chrome 实现 HTML Modules,该规范用来替代之前的 HTML Imports.其优点是基于 ES Modules,可以避免 ...

  7. Abaqus二次开发的一些自制脚本

    Abaqus软件二次开发环境提供的脚本结构就是基于Python语言进行的定制开发. 学了一些有关二次开发的课程,制作了以后可能用得到的脚本. 复制代码,新建py文件,在File–Run Script即 ...

  8. HoloLens1开发(三):Trilib插件动态加载模型-Part2

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity2 ...

  9. Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)

    Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 文章目录 Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 一.数据库中常用的字段类型 二.操作数据库 ...

最新文章

  1. 可以获取python中输出函数帮助的是_Python帮助函数调试函数 用于获取对象的属性及属性值...
  2. python找出值为nan_Python Numpy:找到list中的np.nan值方法
  3. JavaScript实现shortestCommonSupersequence最短公共超序列算法(附完整源码)
  4. es6添加删除class_es6中class类的使用
  5. 苹果x计算机按键有声音吗,iPhoneX拍照总有声音怎么办?拨动静音键即可关闭拍照声!...
  6. Java程序员晋升之路:“Java高级核心知识全面解析
  7. JavaScript学习总结(8)——JS实用技巧总结
  8. python生成验证码的程序_Python基础篇生成4位随机验证码
  9. 用python写网络爬虫-英文翻译
  10. asp.net助学贷款管理系统案例
  11. LTE手机接收灵敏度究竟如何?
  12. 替罪羊树——平衡二叉树
  13. 如何利用区块链技术保护知识产权
  14. Connect Four四子棋c++程序 - 善后处理(3)
  15. win11怎么看电脑显卡信息
  16. Matlab把二维矩阵画成三维图像
  17. 2021铜鼓中学高考成绩查询,江西省宜春市铜鼓中学2020-2021学年高一下学期第一次月考数学(文实验班)试题含答案.doc...
  18. International Classification for Standards 国际标准分类号
  19. symbian学习转载
  20. JAVA语言程序设计教程张席_Java语言程序设计教程

热门文章

  1. https://github.com/Trinea/android-open-project
  2. 正则表达式匹配字符串中的任何空格
  3. mysql联合查询和关联查询
  4. 王道计算机考研机试指南刷题笔记-自用3
  5. css 半透明尖角上下调过来,不和背景色重叠
  6. 速学堂Java300集第五章作业
  7. 宝乐迪量贩式KTV加盟 开启KTV加盟创富大平台时代
  8. PYQT5接收自定义windows消息
  9. 小米WIFI CentOS7 网卡模式 亲测
  10. MySQL单表最大记录数超过多少时性能会严重下降?