1、对Tags进行管理

设置一个全局的类,类似如下:

public class Tags:MonoBehaviour{
      public const string player="Player";
}

调用Tags.player

2、发送消息

unity中每一个对象都有SendMessage,BroadcastMessage,SendMessageUpwards 三个发送消息的方法!

具体使用方法参考:http://www.cnblogs.com/MrZivChu/p/sendmessage.html

3、利用iTween绘制路径线

    public Transform[] points;
    public void OnDrawGizmos()
    {
        iTween.DrawPath(points);
    }

4、人物移动

;
public Vector3 targetPosition;
void Update()
{    //获得人物前进方向
    Vec tor3 moveDir = targetPosition - transform.position;
    transform.positon += moveDir.normalized * moveSpeed * Time.deltaTime;
}

 5、获得障碍物生成的点

因为地形是不平整的,有高低起伏的,所以我们的障碍物生成点是根据比率来算的

Vector3.Lerp(prePoint,nextPoint,(z-prePoint.z) / (nextPoint.z - prePoint.z)) // Lerp会根据第三个参数(比率)来算出上一个点和下一个点之间的一个点

6、动画队列

animation.Play("Idle1");
animation.PlayQueued("Idle2");//把Idle2动画加入队列,也就是说,当Idle1播放完,就去播放Idle2的动画

7、获得触摸方向(鼠标)

    public enum TouchDir
    {
        None,
        Left,
        Right,
        Top,
        Bottom
    }
    Vector3 lastMouseDown = Vector3.zero;
    TouchDir GetTouchDir()
    {
        ))
        {
            lastMouseDown = Input.mousePosition;
        }
        ))
        {
            Vector3 mouseUp = Input.mousePosition;
            Vector3 touchOffset = mouseUp - lastMouseDown;
             || Mathf.Abs(touchOffset.y) > )
            {
                )
                {
                    return TouchDir.Right;
                }
                )
                {
                    return TouchDir.Left;
                }
                )
                {
                    return TouchDir.Top;
                }
                )
                {
                    return TouchDir.Bottom;
                }
            }
        }
        return TouchDir.None;
    }

8、根据动画时长计时完成动画播放

    bool slide = true;
    float allTime = 1.73f;//此动画总共时间为1.73s
    ;
    void LateUpdate()
    {
        if (slide)
        {
            initTime += Time.deltaTime;
            if (initTime > allTime)
            {
                initTime = ;
                slide = false;
            }
            animation.Play("slide");
        }
    }

 9、人物跳跃

Escape From The Earth 逃离地球的更多相关文章

  1. (29)Why Earth may someday look like Mars

    https://www.ted.com/talks/anjali_tripathi_why_earth_may_someday_look_like_mars/transcript00:12So whe ...

  2. 五、Pandas玩转数据

    Series的简单运算 import numpy as np import pandas as pd s1=pd.Series([1,2,3],index=['A','B','C']) print(s ...

  3. HDU 3605 Escape(状压+最大流)

    Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  4. Help Me Escape (ZOJ 3640)

    J - Help Me Escape Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:32768KB ...

  5. ZOJ- 3640 Help Me Escape

    Help Me Escape Time Limit: 2 Seconds      Memory Limit: 32768 KB Background     If thou doest well, ...

  6. ZOJ3640-Help Me Escape

    Help Me Escape Time Limit: 2 Seconds      Memory Limit: 32768 KB Background     If thou doest well, ...

  7. Help Me Escape ZOJ - 3640

    Background     If thou doest well, shalt thou not be accepted? and if thou doest not well, sin lieth ...

  8. Escape HDU - 3605(归类建边)

    Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  9. HDU 3605 Escape (网络流,最大流,位运算压缩)

    HDU 3605 Escape (网络流,最大流,位运算压缩) Description 2012 If this is the end of the world how to do? I do not ...

随机推荐

  1. 使用selenium启动火狐浏览器,解决Unable to create new remote session问题

    今天用火狐浏览器来做自动化,才启动就报错,提示不能创建新的session,不能启动浏览器 问题原因: 火狐driver与火狐浏览器与selenium版本的不兼容 我使用的火狐driver是0.21.0 ...

  2. 安裝 PHP 時出現undefined reference to `libiconv_open’ 之類的錯誤訊息

    在安裝 PHP 到系統中時要是發生「undefined reference to `libiconv_open'」之類的錯誤訊息,那表示在「./configure 」沒抓好一些環境變數值.錯誤發生點在 ...

  3. System.IO 二

    接着上篇的来  System.IO FileSystemWatcher    指向这个签名的方法   可以监听目录发生了什么事件 例如: static void Main(string[] args) ...

  4. Webpack4 学习笔记一初探Webpack

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 Webpack 打包文件 支持JS模块化 模式: production(0配置默认), development(生产环境) 更详细的 ...

  5. java通过FreeMarker模板生成Excel文件之.ftl模板制作

    关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xm ...

  6. docker启用镜像常用脚本

    语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明:-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/ST ...

  7. LeetCode970. 强整数

    问题:970. 强整数 用户通过次数0 用户尝试次数0 通过次数0 提交次数0 题目难度Easy 给定两个非负整数 x 和 y,如果某一整数等于 x^i + y^j,其中整数 i >= 0 且  ...

  8. 【shopex】添加网页挂件widgets

    一步步做个widgets 基础篇 首先建立一个目录plugins/widgets/helloword 这个就是新的挂件目录,系统的每个widgets都是一个目录 里面放两个文件: widgets.ph ...

  9. React路由-进阶篇

    路由进阶 1.多级路由,和之前的思想一样,在子路由里面继续写Route,继续挂载组件,就可以实现多级路由 比如这样:class Food extends Component{ render() { r ...

  10. Altium Designer使用5:AD18的DXP在什么地方?

    1.在顶上的菜单栏右击