Html 如何在KineticJS精灵上使用自己的自定义属性?
我正在使用KineticJS Sprite对象创建一个简单的HTML5 2D画布游戏。我需要每个精灵都具有某些特征,例如“盾牌”、“火力”、“速度”等。因此,我需要向精灵对象添加自己的自定义属性 理想情况下,我想要的是:Html 如何在KineticJS精灵上使用自己的自定义属性?,html,sprite,kineticjs,Html,Sprite,Kineticjs,我正在使用KineticJS Sprite对象创建一个简单的HTML5 2D画布游戏。我需要每个精灵都具有某些特征,例如“盾牌”、“火力”、“速度”等。因此,我需要向精灵对象添加自己的自定义属性 理想情况下,我想要的是: mySpriteObj.setCustom('shield',50)//将自定义属性设置为50 ……然后 var-shield=mySpriteObj.getCustom('shield')//返回50 但似乎没有这样的事。我确实尝试将attr属性(getAttr和setAtt
mySpriteObj.setCustom('shield',50)//将自定义属性设置为50
……然后
var-shield=mySpriteObj.getCustom('shield')//返回50
但似乎没有这样的事。我确实尝试将attr属性(getAttr
和setAttr
)与我自己的自定义值一起使用,但这不起作用
有没有一种简单的方法将您自己的变量与Sprite对象关联
谢谢
Owen即使getAttr()
和setAttr()
是执行此操作的最佳方法,但只要您不尝试使用.toJSON()
保存画布,然后重新创建节点,您就可以像这样直接指定任何自定义值:
mySpriteObj.shield = someValue;
mySpriteObj.speed = someOtherValue;
var myObjSpeed = mySpriteObj.speed;
var myObjShield = mySpriteObj.shield;
尽管如此,您可能希望使用
getAttr()
和setAttr()
共享代码,并尝试修复其中的错误 要将方法添加到Kinetic.Shape
中,可以使用addMethods
功能查看
您可以查看有关如何使用此方法的示例
例如:
Kinetic.Util.addMethods(Kinetic.Shape, {
getCustom: function() {
//getCustom attribute code here
},
getCustom2: function() {
//getCustom attribute code here
}
});
请注意,通过在对象中为addMethod
函数的第二个参数添加更多属性(函数),可以添加多个函数
正如Ani所说,您应该使用getAttr()
和setAttr()
函数来获取和设置自定义属性