Javascript 如何将变量传递给createjs Tween函数

Javascript 如何将变量传递给createjs Tween函数,javascript,easeljs,createjs,Javascript,Easeljs,Createjs,我希望能够将变量传递给createjs Tween函数: function openPanel(id, pos) { //alert("This panel is: "+id+" and is pos: "+pos); createjs.Tween.get(id, { loop: false }).to({ pos: 50 }, 500, createjs.Ease.getPowInOut(4)); } id和pos变量都是字符串

我希望能够将变量传递给createjs Tween函数:

function openPanel(id, pos) {
    //alert("This panel is: "+id+" and is pos: "+pos);
    createjs.Tween.get(id, {
        loop: false
    }).to({
        pos: 50
    }, 500, createjs.Ease.getPowInOut(4));
}
id和pos变量都是字符串-值出现在警报中,但Tween没有触发。有什么想法吗

谢谢

使用参数并在Tween运行时监听更改。但你需要在阿尔法或x/y这两个“东西”之间穿行。我不确定“pos”是否是一种可供选择的财产

createjs.Tween.get(id, {override:true}).to({x:100}).addEventListener("change",handleChange);
     function handleChange(event) {
         // The id object with changed.
         // do something with 'pos'
     }

id必须是对象而不是字符串。你可以给每个形状起一个名字,传递这个形状,然后得到它的名字来决定x或y。

好的。如果我理解正确,您希望能够将属性的名称以及要在其上进行tween的对象的id传递给tween

我不确定您是如何通过字符串id查找对象的(因为这不是EaselJS内部所做的),因此我编辑了您的代码以处理对象引用:

var myShape = new createjs.Shape();
// .... etc.
openPanel(myShape, "x");

function openPanel(target, prop) {
    var tweenProps = {};
    tweenProps[prop] = 50; // dynamic property access.

    createjs.Tween.get(target, {
        loop: false
    }).to(tweenProps, 500, createjs.Ease.getPowInOut(4));
}

如您所见,我使用动态属性访问(通过方括号)设置了我的tween value对象,然后将其传递给
to()
调用。

Uncaught TypeError:Cannot assign to blah的只读属性'tweenjs_count'
ok-那就不可能了-谢谢@ISherwoodt这并不是确切的意思。我不知道那是什么财产,也不知道它的用途。很可能有一个解决方法。
Tween.get
方法接受一个目标。字符串ID不是可以工作的目标,它必须是对具有启用属性的对象的引用。ID代表什么?好的-谢谢@Lanny。该ID引用了我要创建的形状tween-topPanel、btmPanel等。我想根据传递的ID交换tween的x或y属性<代码>openPanel(“btmPanel”、“y”)TweenJS将在任何值之间切换。数值将按预期在两个时间段之间变化,其他值将根据这两个时间段“变化”(包括字符串、布尔值等)