zoukankan      html  css  js  c++  java
  • 【转】Itween 贝塞尔曲线(一)

    原地址:点击打开链接

    1.回调函数

    回调函数,即当动画完成时那瞬间需要执行一次的一个函数,it中默认有一个onComplete函数,当动画完成时会自动执行,且你可以提供需要传递的一些参数。见如下代码:

    1. private var tweenTarget : GameObject;
    2. var counter : GUIText;
    3. var count : int =0;
    4. function Start(){
    5. tweenTarget=gameObject;
    6. roll("right");//开始执行
    7. counter.guiText.material.color = Color.black;
    8. }
    9. private function roll(direction: String): void{
    10. switch(direction){
    11. //如果向右移
    12. case "right":
    13. iTween.rotateBy(tweenTarget,{"z":-.5});//旋转
    14. iTween.moveTo(tweenTarget,{"x":1.7, "onComplete":"roll","onCompleteParams":"left"});//移动到   当完成动画时执行onComplete 并且传递一个参数left
    15. //也即相当于又这样调用了一次roll("left"); 可以推测到  当动画完成向右之后 又开始向左了
    16. count+=1;
    17. break;
    18. //如果向左移   同上 当完成向左动画 则又开始向右  如此实现"乒乓"效果
    19. case "left":
    20. iTween.rotateBy(tweenTarget,{"z":1});
    21. iTween.moveTo(tweenTarget,{"x":-1.7, "onComplete":"roll","onCompleteParams":"right"});
    22. count+=1;
    23. break;
    24. }
    25. counter.text=count.ToString() + " Loops";
    26. }
    复制代码

    2.Bezier贝塞尔曲线运动

    除了普通的线性运动 如MoveTo这些函数 it也支持曲线运动  其中一种常用的曲线就是bezier

    在it中如何使用曲线:

    1. function Start()
    2. {
    3. 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)]});
    4. }
    复制代码

    可以看到,让物体跟随曲线运动。第一个参数指定当前物体运动,接下来是过渡方式:easeInOut 是一种起点和终点平滑过渡的方式。

    共指定了6个向量点,需要记住参数是成双的即每个定点需要匹配一个控制点,才能定义好这条曲线。上面共有3个顶点,加3个这些定点的控制点。

  • 相关阅读:
    【tensorflow】神经网络的一些基本概念(前向传播、反向传播、损失函数、梯度下降法、学习率)和设计过程
    【opencv+python】图像的基本操作:缩放、剪切、位移、旋转、仿射变换
    【tensorflow】利用神经网络绘制股票价格拟合曲线
    Tuple
    2020-08-17T15:35:54.525+08:00
    FTP协议协议
    centos7常规系统指标监控shell脚本
    AWK传入shell变量举例
    洛谷-P5143 攀爬者
    洛谷-P1104 生日
  • 原文地址:https://www.cnblogs.com/mimime/p/6888437.html
Copyright © 2011-2022 走看看