Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Tween.js使用Paper.js缩放光栅_Javascript_Paperjs_Tweenjs - Fatal编程技术网

Javascript 使用Tween.js使用Paper.js缩放光栅

Javascript 使用Tween.js使用Paper.js缩放光栅,javascript,paperjs,tweenjs,Javascript,Paperjs,Tweenjs,我想我有一个问题,我无法计算(或者知道它是否存在)从而可以访问应用于给定对象的缩放(在我的实例中,是光栅) 我需要知道这一点,以便通过Tween.js设置缩放动画 有人有什么想法或知道是否确实有可能找到应用于光栅(或任何)对象的当前缩放比例吗 我认为这是光栅的一个问题,所以我尝试在路径和组的缩放属性之间切换,但我无法访问这些值来设置动画 因为我使用的是Tween.js,所以我不能简单地使用object.scale(value)函数 更新 我甚至尝试将一个任意(动画)数字应用于缩放函数,但它失败了

我想我有一个问题,我无法计算(或者知道它是否存在)从而可以访问应用于给定对象的缩放(在我的实例中,是光栅)

我需要知道这一点,以便通过Tween.js设置缩放动画

有人有什么想法或知道是否确实有可能找到应用于光栅(或任何)对象的当前缩放比例吗

我认为这是光栅的一个问题,所以我尝试在路径和组的缩放属性之间切换,但我无法访问这些值来设置动画

因为我使用的是Tween.js,所以我不能简单地使用object.scale(value)函数

更新

我甚至尝试将一个任意(动画)数字应用于缩放函数,但它失败了。。。i、 e:

object.scale( 0 );
object.arbitraryNumber = 0;
createjs.Tween.get( object )
    .to( { arbitraryNumber:1 } , 1000, createjs.Ease.getPowInOut(2) )
    .addEventListener( "change", function( event ) {
       event.target.target.scale( event.target.target.arbitraryNumber);
} );
虽然这不起作用,但当相同的方法应用于对象的x位置时,效果很好

为了更新对象的缩放比例,是否需要标记任何内容?

当使用0到1的值在每个帧上调用方法时,实际上是以指数方式缩小项目,因为每次调用都会将项目相对于上一个值进行缩放。
您要做的是设置属性的动画

您还必须知道,默认情况下,PaperJS使用全局坐标系,并将每个变换直接应用于点。
您可以通过将属性设置为
false

进行此操作时,比例更改将影响项目矩阵,而不是影响点坐标,并且您将能够按预期设置其动画

下面是缩放动画的简单示例:

var circle         = new Path.Circle(view.center, 50);
circle.fillColor   = 'orange';
circle.applyMatrix = false;

function onFrame(event)
{
    circle.scaling = Math.sin(1 + event.count * 0.05);
}
您应该能够轻松地将此示例转换为Tween.js上下文