FlappyBird开发总结(三)——小鸟脚本,让小鸟煽动翅膀
在搭建好基本的场景后,我们要开始进入正题了。好了,让我们开始脚本的编写。
一、小鸟的脚本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开发总结(三)——小鸟脚本,让小鸟煽动翅膀相关推荐
- UGF游戏框架实例开发教程—FlappyBird(七)子弹发射与小鸟飞行功能的实现
与之前的操作类似,新建一个子弹的实体数据类,命名为BulletData /// <summary>/// 子弹实体数据/// </summary>public class Bu ...
- 云计算Python自动化运维开发实战 三、python文件类型
为什么80%的码农都做不了架构师?>>> 云计算Python自动化运维开发实战 三.python文件类型 导语: python常用的有3种文件类型 1. 源代码 py ...
- IT小小鸟VS.小小小鸟:展翅,我们一起翱翔!
10月17日.我们一行人去到位于大兴的北大软微学院. 是个清静的好去处.可惜太远.离地铁4号线终点站还有十几公里的路程.但也许,正是由于她的地理位置,她才格外地像,别样的自家殿堂.其间空气清新,学生相 ...
- Nutch开发(三)
Nutch开发(三) 文章目录 Nutch开发(三) 开发环境 1.Nutch url过滤 2.示例 3.在Solr建立index 关于solr字段的配置 4.关于Nutch plugin 5.关于N ...
- 【蓝鸥Unity开发基础三】课时14 刚体
[蓝鸥Unity开发基础三]课时14 刚体 一.刚体 物理引擎: 物理引擎能够真实的模拟物理效果 Unity中使用的是NVIDIA的PhysX物理引擎 在Unity中使用Rigidbody让游戏对象受 ...
- 前端技术周刊 2019-01-21:跨端开发的三条路线
2019-01-21 前端快爆 微软 Edge 开发者意图为 Chrome 实现 HTML Modules,该规范用来替代之前的 HTML Imports.其优点是基于 ES Modules,可以避免 ...
- Abaqus二次开发的一些自制脚本
Abaqus软件二次开发环境提供的脚本结构就是基于Python语言进行的定制开发. 学了一些有关二次开发的课程,制作了以后可能用得到的脚本. 复制代码,新建py文件,在File–Run Script即 ...
- HoloLens1开发(三):Trilib插件动态加载模型-Part2
前言 最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity2 ...
- Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)
Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 文章目录 Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 一.数据库中常用的字段类型 二.操作数据库 ...
最新文章
- 可以获取python中输出函数帮助的是_Python帮助函数调试函数 用于获取对象的属性及属性值...
- python找出值为nan_Python Numpy:找到list中的np.nan值方法
- JavaScript实现shortestCommonSupersequence最短公共超序列算法(附完整源码)
- es6添加删除class_es6中class类的使用
- 苹果x计算机按键有声音吗,iPhoneX拍照总有声音怎么办?拨动静音键即可关闭拍照声!...
- Java程序员晋升之路:“Java高级核心知识全面解析
- JavaScript学习总结(8)——JS实用技巧总结
- python生成验证码的程序_Python基础篇生成4位随机验证码
- 用python写网络爬虫-英文翻译
- asp.net助学贷款管理系统案例
- LTE手机接收灵敏度究竟如何?
- 替罪羊树——平衡二叉树
- 如何利用区块链技术保护知识产权
- Connect Four四子棋c++程序 - 善后处理(3)
- win11怎么看电脑显卡信息
- Matlab把二维矩阵画成三维图像
- 2021铜鼓中学高考成绩查询,江西省宜春市铜鼓中学2020-2021学年高一下学期第一次月考数学(文实验班)试题含答案.doc...
- International Classification for Standards 国际标准分类号
- symbian学习转载
- JAVA语言程序设计教程张席_Java语言程序设计教程