我希望能够将变量传递给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 vars都是字符串 - 值显示在警报中,但Tween未触发。有什么想法吗?
由于
答案 0 :(得分:2)
确定。如果我理解正确,您希望能够将属性的名称传递给补间,以及要对其进行补间的对象的ID。
我不确定你是如何按字符串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));
}
如您所见,我使用动态属性访问(通过方括号)来设置我的补间值对象,然后将其传递给to()
调用。
答案 1 :(得分:0)
使用change参数并在Tween运行时侦听更改。但你需要补充一些东西'像alpha或x / y。我不确定' pos'是一个补间能力的财产..
class Users::SessionsController < Devise::SessionsController
# Note that all the other actions are handled by Devise::SessionsController
# (which is in the gem)
skip_filter :require_no_authentication, only: :new
def new
if user_signed_in?
redirect_to dashboard_path
return
end
super
end
end
答案 2 :(得分:0)
id必须是对象而不是字符串。你可以给每个形状命名,传递形状然后得到它的名字来决定x或y。