public Vector3[] paths;
// Use this for initialization
void Start () {
paths = new Vector3[] { new Vector3(, , ), new Vector3(-, , -) };
Hashtable args = new Hashtable();
//设置路径的点
args.Add("path", paths);
//设置类型为线性,线性效果会好一些。
args.Add("easeType", iTween.EaseType.linear);
//设置寻路的速度
args.Add("speed", 1f);
//是否先从原始位置走到路径中第一个点的位置
args.Add("movetopath", true);
//是否让模型始终面朝当面目标的方向
//如果你发现你的模型在寻路的时候时钟都是一个方向那么一定要打开这个
args.Add("orienttopath", true); //让模型开始寻路
iTween.MoveTo(gameObject, args);
}
 void Start()
{ //键值对儿的形式保存iTween所用到的参数
Hashtable args = new Hashtable(); //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中
//例如移动的特效,先震动在移动、先后退在移动、先加速在变速、等等
args.Add("easeType", iTween.EaseType.easeInOutExpo); //移动的速度,
args.Add("speed",10f);
//移动的整体时间。如果与speed共存那么优先speed
args.Add("time",1f);
//这个是处理颜色的。可以看源码的那个枚举。
args.Add("NamedValueColor","_SpecColor");
//延迟执行时间
args.Add("delay", 0.1f);
//移动的过程中面朝一个点
args.Add("looktarget",Vector3.zero); //三个循环类型 none loop pingPong (一般 循环 来回)
//args.Add("loopType", "none");
//args.Add("loopType", "loop");
args.Add("loopType", "pingPong"); //处理移动过程中的事件。
//开始发生移动时调用AnimationStart方法,5.0表示它的参数
args.Add("onstart", "AnimationStart");
args.Add("onstartparams", 5.0f);
//设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,
//那么就得在接收对象的脚本中实现AnimationStart方法。
args.Add("onstarttarget", gameObject); //移动结束时调用,参数和上面类似
args.Add("oncomplete", "AnimationEnd");
args.Add("oncompleteparams", "end");
args.Add("oncompletetarget", gameObject); //移动中调用,参数和上面类似
args.Add("onupdate", "AnimationUpdate");
args.Add("onupdatetarget", gameObject);
args.Add("onupdateparams", true); // x y z 标示移动的位置。 args.Add("x",);
args.Add("y",);
args.Add("z",); //当然也可以写Vector3
//args.Add("position",Vectoe3.zero); //最终让改对象开始移动
iTween.MoveTo(gameObject,args);
} //对象移动中调用
void AnimationUpdate(bool f)
{
Debug.Log("update :" + f);
}
//对象开始移动时调用
void AnimationStart(float f)
{
Debug.Log("start :" + f);
}
//对象移动时调用
void AnimationEnd(string f)
{
Debug.Log("end : " + f);
}

unity开源移动库iTween使用完整Demo的更多相关文章

  1. 游戏源码--Unity开源Moba游戏-服务器-客户端完整V1.0

    http://www.manew.com/thread-111658-1-1.html

  2. 谷歌开源项目Google Preview Image Extractor(PIEX) (附上完整demo代码)

    前天偶然看到谷歌开源项目中有一个近乎无人问津的项目Google Preview Image Extractor(PIEX) . 项目地址: https://github.com/google/piex ...

  3. MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)

    https://blog.csdn.net/panwen1111/article/details/79245161 目录MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整De ...

  4. 爆料喽!!!开源日志库Logger的使用秘籍

    日志对于开发来说是非常重要的,不管是调试数据查看.bug问题追踪定位.数据信息收集统计,日常工作运行维护等等,都大量的使用到.今天介绍著名开源日志库Logger的使用,库的地址:https://git ...

  5. 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】

    文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...

  6. C++ 100款开源界面库 (10)

    (声明:Alberl以后说到开源库,一般都是指著名的.或者不著名但维护至少3年以上的.那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码.这里并不是贬低,像Alberl前面那个系列的 ...

  7. arcgis api for js之echarts开源js库实现地图统计图分析

    前面写过一篇关于arcgis api for js实现地图统计图的,具体见:http://www.cnblogs.com/giserhome/p/6727593.html 那是基于dojo组件来实现图 ...

  8. REST风格框架实战:从MVC到前后端分离(附完整Demo)

    既然MVC模式这么好,难道它就没有不足的地方吗?我认为MVC至少有以下三点不足:(1)每次请求必须经过“控制器->模型->视图”这个流程,用户才能看到最终的展现的界面,这个过程似乎有些复杂 ...

  9. arcgis api 3.x for js 之 echarts 开源 js 库实现地图统计图分析(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

随机推荐

  1. .Net并行编程(一)-TPL之数据并行

    前言 许多个人计算机和工作站都有多个CPU核心,可以同时执行多个线程.利用硬件的特性,使用并行化代码以在多个处理器之间分配工作. 应用场景 文件批量上传 并行上传单个文件.也可以把一个文件拆成几段分开 ...

  2. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(七)一次线上Mysql数据库崩溃事故的记录

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 文章简介 工作这几年,技术栈在不断更新,项目管理心得也增加了不少,写 ...

  3. Ionic 3 延迟加载(Lazy Load)实战(一)

    本文分享并演示了在 Ionic 3 框架中如何进行模块的延迟加载(Lazy Load)开发. 在我的实战课程「快速上手Ionic3 多平台开发企业级问答社区」中,因为开发的仿知乎 App 模块间的加载 ...

  4. 在 Ionic2 TypeScript 项目中导入第三方 JS 库

    原文发表于我的技术博客 本文分享了在Ionic2 TypeScript 项目中导入第三方 JS 库的方法,供参考. 原文发表于我的技术博客 1. Typings 的方式 因在 TypeScript 中 ...

  5. nginx域名访问的白名单配置梳理

    在日常运维工作中,会碰到这样的需求:设置网站访问只对某些ip开放,其他ip的客户端都不能访问.可以通过下面四种方法来达到这种效果:1)针对nginx域名配置所启用的端口(比如80端口)在iptable ...

  6. WinForm多线程+委托防止界面假死

    当有大量数据需要计算.显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决 using System; using System.Collections.Generic ...

  7. C_数据结构_递归实现累加

    # include <stdio.h> long sum(int n) { //用递归实现: ) ; else ) + n; /* 用for循环实现: long s = 0; int i; ...

  8. C. Meme Problem

    链接 [http://codeforces.com/contest/1076/problem/C] 题意 a+b=d and a⋅b=d. 计算出a和b 分析 ab=a(d-a)=d aa-ad+d= ...

  9. ABP框架用Dapper实现通过SQL访问数据库

    ABP的框架(2) - 访问数据库   为了防止不提供原网址的转载,特在这里加上原文链接:http://www.cnblogs.com/skabyy/p/7517397.html 本篇我们实现数据库的 ...

  10. Java和Android的Lru缓存,及其实现原理

    一.概述 Android提供了LRUCache类,可以方便的使用它来实现LRU算法的缓存.Java提供了LinkedHashMap,可以用该类很方便的实现LRU算法,Java的LRULinkedHas ...