常需要,常查找!

自己记录下!

1.

  1. var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  2. //GameObject.CreatePrimitive(PrimitiveType.Cube).transform.position = ray.GetPoint(10.0f);
  3. transform.LookAt(ray.GetPoint(10.0f));

2.

提高效率

  1. GetComponent(), FindObjectByType() and Instantiate()

尽量少使用。

3. InvokeReapting 的内部实现

  1. 实现过程
  2. {
  3. 找到函数方法名称,存储
  4. 等待调用时间,WaitForSeconds(time)
  5. 循环知道用户取消
  6. {
  7. Invoke 存储的函数方法
  8. 等待时间
  9. }
  10. 删除记录保存的方法
  11. }

4.

Coroutine 和InvokeReapting

协同程序,不是多线程。但是他有自己的堆栈,局部变量,指令指针,与其他协同程序共享全局变量等信息。在多处理器下,多线程同时运行,协同程序,在某时刻之有一个在运行。

若你有个负责的任务,它非常费帧率,就考虑使用协同或InvokeReapting.

若是简单任务,就嫑在协同或InvokeReapting使用,这不会提高效率的。

但是也不用太死板。尽管可能降低效率,代码会更简单和实用。

协同是处理时间序列的一种很好的方法。

它不是线程也不是异步。

协同当脚本未激活或对象为激活时不可用。

协同返回时间的WaitForSeconds依赖于Time.timeScale.

  1. InvokeReapting
  2. /*
  3. void InvokeRepeating(string methodName, float time, float repeatRate)
  4. {
  5. - Find the method called "methodName" in the calling assembly and store it.
  6. - Wait "time" seconds by yielding on WaitForSeconds(time)
  7. Loop until the user cancels this action
  8. {
  9. - Invoke the stored method
  10. - Wait "repeatTime" seconds by yielding on WaitForSeconds(repeatRate)
  11. }
  12. - Remove the method info record from storage.
  13. }
  14. */

使用Invoke或InvokeReapting,这样很难调试。

Unity3D自己常用代码的更多相关文章

  1. GCD 常用代码

    GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...

  2. 转--Android实用的代码片段 常用代码总结

    这篇文章主要介绍了Android实用的代码片段 常用代码总结,需要的朋友可以参考下     1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getE ...

  3. 刀哥多线程之03GCD 常用代码

    GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...

  4. jquery常用代码集锦

    1. 如何修改jquery默认编码(例如默认GB2312改成 UTF-8 ) 1 2 3 4 5 $.ajaxSetup({     ajaxSettings : {         contentT ...

  5. Mysql:常用代码

    C/S: Client Server B/S: Brower Server Php主要实现B/S .net IIS Jave TomCat LAMP:L Mysql:常用代码 Create table ...

  6. javascript常用代码大全

    http://caibaojian.com/288.html    原文链接 jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  7. Android 常用代码大集合 [转]

    [Android]调用字符串资源的几种方法   字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...

  8. NSIS常用代码整理

    原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...

  9. PHP常用代码大全(新手入门必备)

    PHP常用代码大全(新手入门必备),都是一些开发中常用的基础.需要的朋友可以参考下.   1.连接MYSQL数据库代码 <?php $connec=mysql_connect("loc ...

随机推荐

  1. dp之最长递增子序列模板poj3903

    最长递增子序列,Longest Increasing Subsequence 下面我们简记为 LIS.排序+LCS算法 以及 DP算法就忽略了,这两个太容易理解了. 假设存在一个序列d[1..9] = ...

  2. Augustus安装问题 (3.0 以上都适用)

    augustus 3.2 (3.3) 编译失败 原因是依赖boost库,而且需要bamtools,从而导致编译失败 报错1: $ make mkdir -p bincd src && ...

  3. 更改nginx站点根文件夹

    默认站点根文件夹为/usr/local/nginx/html.要将它改成/homw/www vi /usr/local/nginx/conf/nginx.conf 将当中的         locat ...

  4. kubernetes外部访问的几种方式

    1:用的最多的是nodePort,如下nginx的service,将type设置成NodePort,同时nodePort设置成30010(k8s为了不与宿主机的端口冲突,默认限制了30000以下的端口 ...

  5. 在XP系统下如何访问win10共享的打印机

    < > 找到 GUEST 用户,添加即可. 2. Win10 共享本地打印机 右击要共享的打印机,共享选项卡,设置共享名,这个共享很重要,要记住,尽量设置简单点.IP + 共享名就是网络打 ...

  6. windows和Linux查看端口占用进程并关闭

    Windows: 以端口8080为例: 1.查找对应的端口占用的进程:netstat  -aon|findstr  "8080"    ,找到占用8080端口对应的程序的PID号: ...

  7. double类型保留2位小数

    double d = 12.2289; java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); Syst ...

  8. thinkphp 3.2跟3.1 区别

    1.ThinkPHP3.2 主要整合了3.1以及之前版本的分组问题.3.2之前有普通分组和独立分组,还需要在配置文件中配置.3.2已经不需要配置了,直接使用独立分组就可以了.2.ThinkPHP3.2 ...

  9. Tensorflow参数初始化很慢的问题

    首先查看是否使用了import cv2 如果有import cv2,说明是opencv的问题 因为如果你的opencv是本地编译的,那么很可能使用了cudnn进行编译,那么这个cv2就会占用显存,并且 ...

  10. SpringMVC--拦截器的使用

    SpringMVC的请求如下面这种图所示:  可以看出所有的请求都要通过Dispatherservlet来接收,然后通过Handlermapping来决定使用哪个控制器,再根据ViewResolver ...