要实现的目标: 

  1、3只小鸟初始动画
  2、完善代码slingShot.js
  3、完善代码BirdMoving.js

1、实现3个准备动画:Unity3D内置的动画管理器

1.1、先选择GameObject游戏对象

1.2

2、代码

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. /// <summary>
  5. /// 小鸟弹跳
  6. /// </summary>
  7. public class birdMove : MonoBehaviour
  8. {
  9.  
  10. /// <summary>
  11. /// 是否掉在地上
  12. /// </summary>
  13. private bool isGround = false;
  14.  
  15. /// <summary>
  16. /// 0-1随机变量
  17. /// </summary>
  18. private float randomNumber;
  19.  
  20. /// <summary>
  21. /// 多少秒跳一次
  22. /// </summary>
  23. public float seconds;
  24. // Use this for initialization
  25. void Start()
  26. {
  27. InvokeRepeating("Move", , seconds);//定时重复处理
  28. }
  29.  
  30. // Update is called once per frame
  31. void Update()
  32. {
  33. if (!isGround)
  34. {
  35. if (randomNumber > 0.5f)
  36. {
  37. //transform.localEulerAngles.z += Time.deltaTime * 400;
  38. transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, transform.localEulerAngles.y, Time.deltaTime * + transform.localEulerAngles.z);
  39. //transform.Rotate(new Vector3(transform.localRotation.x, transform.localRotation.y, transform.localRotation.z + Time.deltaTime * 100f));
  40. //x、y、z角代表绕z轴旋转z度,绕x轴旋转x度,绕y轴旋转y度(这个顺序)。
  41. }
  42. else
  43. {
  44. transform.localEulerAngles = new Vector3(transform.localEulerAngles.x, transform.localEulerAngles.y, -Time.deltaTime * + transform.localEulerAngles.z);
  45. //transform.localEulerAngles.z -= Time.deltaTime * 400;
  46. }
  47. }
  48. if (slingShot.isJump)
  49. {
  50. WaitTime();
  51. }
  52. }
  53.  
  54. void Move()
  55. {
  56. //transform.rigidbody.velocity.y =2.0f ;// [və'lɒsətɪ]速率,速度
  57. transform.rigidbody.velocity = new Vector3(transform.rigidbody.velocity.x, 2.0f, transform.rigidbody.velocity.z);
  58. isGround = false;
  59. randomNumber = Random.Range(, );
  60. }
  61. /// <summary>
  62. /// 进入碰撞
  63. /// 当collider/rigidbody开始触动另一个rigidbody/collider时OnCollisionEnter被调用。
  64. /// </summary>
  65. /// <param name="collision"></param>
  66. void OnCollisionEnter(Collision collision)
  67. {
  68. isGround = true;
  69. //new Vector3(transform.localEulerAngles.x, transform.localEulerAngles.y, 0);
  70. //transform.localEulerAngles.z = 0;// 使得小鸟正对前方 Euler Angles欧拉角
  71. }
  72.  
  73. void WaitTime()
  74. {
  75. new WaitForSeconds(1.0f);
  76. if (gameObject.name == "bird1" && slingShot.birdNumber == )
  77. {
  78. transform.animation.Play();
  79. transform.gameObject.collider.isTrigger = true;
  80. slingShot.isJump = false;
  81.  
  82. new WaitForSeconds(1.0f);
  83. slingShot.myBird.active = true;
  84. slingShot.myBird.transform.animation.Stop();
  85. Destroy(gameObject);
  86. }
  87. if (gameObject.name == "bird2" && slingShot.birdNumber == )
  88. {
  89. transform.animation.Play();
  90. transform.gameObject.collider.isTrigger = true;
  91. slingShot.isJump = false;
  92.  
  93. new WaitForSeconds(1.0f);
  94. slingShot.myBird.active = true;
  95. slingShot.myBird.transform.animation.Stop();
  96. Destroy(gameObject);
  97. }
  98. }
  99. }

Unity3D笔记 愤怒的小鸟<七> 小鸟群准备动画的更多相关文章

  1. Android群英传笔记——第七章:Android动画机制和使用技巧

    Android群英传笔记--第七章:Android动画机制和使用技巧 想来,最 近忙的不可开交,都把看书给冷落了,还有好几本没有看完呢,速度得加快了 今天看了第七章,Android动画效果一直是人家中 ...

  2. Unity3D笔记 愤怒的小鸟<五> 小鸟动画+Unity3D如何设置断点调式

    前言:实现小鸟的动画,之前吐槽过js写U3D,就改成了C#来写,没想到遇到问题了. 实现的效果 using UnityEngine; using System.Collections; /// < ...

  3. Unity3D笔记 愤怒的小鸟<二> 实现Play界面

    创建Play界面.能个把各个图片组合成一个场景,场景组成后背景能够不停的滚动,当鼠标单击时显示图片手型鼠标 一.GUI Texture 1.创建背景.地面.树木.草 ,这里注意Z轴的排序,一层一层则第 ...

  4. Unity3D笔记 愤怒的小鸟<一>场景切换

    新建3个场景,场景1 Start 十秒后自动切换到场景2 Splash,场景2在二秒后自动切换到场景3 Selection 一.场景一Start 二.场景2 Splash 三.场景3 Selectio ...

  5. Unity3D笔记 愤怒的小鸟<六> 弹弓发射小鸟

    要实现的目标 实现个性化的鼠标 实现弹弓 选择小鸟.拉升弹弓.发射小鸟 弹弓橡皮筋 声音 1.实现个性化鼠标 效果 2.添加弹弓 建立两个材质 创建一个空GameObject 把两个shoot拖进来统 ...

  6. Unity3D笔记 愤怒的小鸟<四> 实现Selelction界面

    一直跟着龚老师用js写,VS智能感应用习惯后发现这里用js对初学者比较蛋疼,MONO有提示但是还是无法和VS媲美就目前来看.所以这次还是换成熟悉的VS来开发. 目标:实现关卡页面 跑起来的效果如下: ...

  7. Unity3D笔记八 Unity生命周期及动画学习

    Unity脚本从唤醒到销毁有着一套比较完善的生命周期,添加任何脚本都必须遵守自身生命周期法则.下面介绍一下生命周期中由系统自身调用的几个比较重要的方法.  Update(){}.正常更新,用于更新逻 ...

  8. Unity3D笔记 愤怒的小鸟<三> 实现Play界面2

    前言:在Play页面中给Play页面添加一个“开始游戏”和“退出游戏”按钮顺便再来一个背景音乐 添加按钮可以是GUI.Button(),也可以是GUILayout.Button():给图片添加按钮可以 ...

  9. VSTO学习笔记(七)基于WPF的Excel分析、转换小程序

    原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...

随机推荐

  1. Run ASP.NET MVC site on mac (mono/xamarin studio)

    我们选择用xamarin studio来测试,如果你直接进xamarin的官网,那么会有一个更好看的网站和更复杂的流程(比如需要注册),我们直接到mono项目找mac的支持吧,点此进入 相关sdk和a ...

  2. 在lua环境中使用protobuf

    最近在cocos2dx的项目中,需要在LUA脚本层使用protobuf协议.官方已经推出了很多种语言的版本.但唯独LUA版本不全.于是开始研究protobuf在LUA下的实现,将完整的过程记录了下来, ...

  3. [Err] 1231 - Variable 'sql_mode' can't be set to the value of 'NULL

    在MYSQL还原语句的时候,报: [Err] - Variable 'sql_mode' can't be set to the value of 'NULL 解决办法:打开SQL语句,把里面的注释给 ...

  4. MTK 时区修改

    1.修改packages/apps/Settings/res/xml-xx-xx/timezones.xml (xx-xx表示不同的语言和区域),添加下面的内容:     <!-- timezo ...

  5. Shiro集成Spring

    本篇博客主要讲述的是两者的集成.不涉及到各自的详细细节和功能. 因为官方给出的文档不够具体,对新手而言通过官方文档还不可以非常快的搭建出SpringShiro的webproject.本博客将通过实际的 ...

  6. CreateThreadpoolIo 函数小记

    函数原型如下: PTP_IO WINAPI CreateThreadpoolIo( _In_ HANDLE fl, _In_ PTP_WIN32_IO_CALLBACK pfnio, _Inout_o ...

  7. postgresql 指令

    (1)用户实用程序: createdb 创建一个新的PostgreSQL的数据库(和SQL语句:CREATE DATABASE 相同) createuser 创建一个新的PostgreSQL的用户(和 ...

  8. PyQt4程序图标

    程序图标就是一个小图片,通常显示在程序图标的左上角(ubuntu gnome在最上侧). #!/usr/bin/python # -*- coding:utf-8 -*- import sys fro ...

  9. mysql学习笔记(三)

    -- 主键冲突(duplicate key) ,'xujian','anhui'); ,'xiewei','anhui'); ,'luyang','anhui');-- 主键冲突了 -- 可以选择性的 ...

  10. iOS - 转场时 appear 与 disappear 的调用顺序探索

    不同的转场方式 A.B viewDidDisappear调用的流程不同 在A页面跳转到B页面的过程中 A 的 viewDidDisappear 方法和 B 的 viewDidAppear 谁先调用? ...