Javascript 如何将变量传递给createjs Tween函数
我希望能够将变量传递给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变量都是字符串
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将在任何值之间切换。数值将按预期在两个时间段之间变化,其他值将根据这两个时间段“变化”(包括字符串、布尔值等)