【转】Itween 贝塞尔曲线(一)
原地址:点击打开链接
1.回调函数
回调函数,即当动画完成时那瞬间需要执行一次的一个函数,it中默认有一个onComplete函数,当动画完成时会自动执行,且你可以提供需要传递的一些参数。见如下代码:
- private var tweenTarget : GameObject;
- var counter : GUIText;
- var count : int =0;
- function Start(){
- tweenTarget=gameObject;
- roll("right");//开始执行
- counter.guiText.material.color = Color.black;
- }
- private function roll(direction: String): void{
- switch(direction){
- //如果向右移
- case "right":
- iTween.rotateBy(tweenTarget,{"z":-.5});//旋转
- iTween.moveTo(tweenTarget,{"x":1.7, "onComplete":"roll","onCompleteParams":"left"});//移动到 当完成动画时执行onComplete 并且传递一个参数left
- //也即相当于又这样调用了一次roll("left"); 可以推测到 当动画完成向右之后 又开始向左了
- count+=1;
- break;
- //如果向左移 同上 当完成向左动画 则又开始向右 如此实现"乒乓"效果
- case "left":
- iTween.rotateBy(tweenTarget,{"z":1});
- iTween.moveTo(tweenTarget,{"x":-1.7, "onComplete":"roll","onCompleteParams":"right"});
- count+=1;
- break;
- }
- counter.text=count.ToString() + " Loops";
- }
复制代码
2.Bezier贝塞尔曲线运动
除了普通的线性运动 如MoveTo这些函数 it也支持曲线运动 其中一种常用的曲线就是bezier
在it中如何使用曲线:
- function Start()
- {
- iTween.moveToBezier(gameObject,{"time":3, "transition":"easeInOutQuint","bezier":[Vector3(0,1.5,0), Vector3(0,0,1.5), Vector3(0,-1.5,3), Vector3(1.5,0,3),Vector3(1.5,0,0), Vector3(-1.5,0,0)]});
- }
复制代码
可以看到,让物体跟随曲线运动。第一个参数指定当前物体运动,接下来是过渡方式:easeInOut 是一种起点和终点平滑过渡的方式。
共指定了6个向量点,需要记住参数是成双的即每个定点需要匹配一个控制点,才能定义好这条曲线。上面共有3个顶点,加3个这些定点的控制点。
【转】Itween 贝塞尔曲线(一)的更多相关文章
- canvas贝塞尔曲线
贝塞尔曲线 Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线. 曲线定义:起始点.终止点.控制点.通过调整控制点,贝塞尔曲线的形状会发生变化. 1962年,法国数学家Pierr ...
- 贝塞尔曲线(UIBezierPath)属性、方法汇总
UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装,所以是需要图形上下文的(CGContextRef),所以一般U ...
- 深度掌握SVG路径path的贝塞尔曲线指令
一.数字.公式.函数.变量,哦,NO! 又又一次说起贝塞尔曲线(英语:Bézier curve,维基百科详尽中文释义戳这里),我最近在尝试实现复杂的矢量图形动画,发现对贝塞尔曲线的理解馒头那么厚,是完 ...
- 贝塞尔曲线(cubic bezier)
对于css3的Transitions,网上很多介绍,相信大家都比较了解,这里用最简单的方式介绍下: transition语法:transition:<transition-property> ...
- iOS开发之画图板(贝塞尔曲线)
贝塞尔曲线,听着挺牛气一词,不过下面我们在做画图板的时候就用到贝塞尔绘直线,没用到绘制曲线的功能.如果会点PS的小伙伴会对贝塞尔曲线有更直观的理解.这篇博文的重点不在于如何用使用贝塞尔曲线,而是利用贝 ...
- 用html5的canvas画布绘制贝塞尔曲线
查看效果:http://keleyi.com/keleyi/phtml/html5/7.htm 完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...
- 二次、三次贝塞尔曲线demo(演示+获取坐标点)
二次贝塞尔曲线demo: See the Pen quadraticCurveDemo by hanyanjun (@hanyanjun) on CodePen. 我的demo地址(二次) 推荐点击以 ...
- 【转~】初识贝塞尔曲线(Bézier curve)
本文图文大多转自http://www.html-js.com/article/1628 QAQ我居然去扒维基,,,看不懂啊,,,我要去补数学,,, 在做变形小鸡的时候用到CSS3 transition ...
- canvas绘制二次贝塞尔曲线----演示二次贝塞尔四个参数的作用
canvas中绘制二次贝塞尔曲线的方法为ctx.quadraticCurveTo(x1,y1,x2,y2); 四个参数分别为两个控制点的坐标.开始点即当前canvas中目前的点,如果想从指定的点开始, ...
随机推荐
- 【洛谷P1939】 矩阵加速模板
https://www.luogu.org/problemnew/show/P1939 矩阵快速幂 斐波那契数列 首先看一下斐波那契数列的矩阵快速幂求法: 有一个矩阵1*2的矩阵|f[n-2],f[n ...
- apache日志
<VirtualHost *:80> ServerAdmin chinasir.xyz@gmail.com DocumentRoot /var/www/html/baidu ServerN ...
- C# if语句
一.C# if语句 if语句根据条件判断代码该执行哪一个分支. if语句有两个或两个以上的分支供代码选择,但是每次只能执行一个分支. 1. 基本if语句 语法格式如下: if(expression){ ...
- python 生成器与迭代器(yield 用法)
背景 首先,我不会解释这两个名词,我看过很多遍解释,可还是看不懂,还是直接看使用情景吧. 我们以佩波拉契数列为例,当我们不知道迭代器的情况下,我们写出来的代码可能是这样子的: '''这种方式计算fib ...
- elasticsearch-dsl聚合-1
接续上篇,本篇介绍elasticsearch聚合查询,使用python库elasticsearch-dsl进行聚合查询操作. 7.3.聚合查询 高阶概念 Buckets(桶/集合):满足特定条件的文档 ...
- springmvc 前端表单提交给后端出现乱码
在springmvc框架练习中遇到了乱码问题,经过一番网上查找解决方法之后,最后发现是需要在tomcat中的server.xml中添加编码设置 URIEncoding="UTF-8" ...
- MySQL中事物的详解
1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元,该工作单元中所有操作要么同时成功,要么同时失败.事物有如下四个特性,ACID简称“酸性”. 1)原子性:工作单元中所有的操作要么 ...
- linux 安装mysql5.6 yum
安装mysql: 查看mysql: rpm -qa | grep -i mysql 安装必要的环境 yum -y install gcc gcc-c++ ncurses-devel perl 查看环境 ...
- yii自定义行为组件(简介版)
yii2 给框架底层预定义事件自定义处理程序. 1. common\config\main.php 修改配置文件添加 'as behaviors' => 'backend\behavior ...
- [Noip2016]愤怒的小鸟(状压DP)
题目描述 题意大概就是坐标系上第一象限上有N只猪,每次可以构造一条经过原点且开口向下的抛物线,抛物线可能会经过某一或某些猪,求使所有猪被至少经过一次的抛物线最少数量. 原题中还有一个特殊指令M,对于正 ...