我有一个名为mcButton
的动画片段,其属性为scaleX
,我必须将其传递给操作mcButton.scaleX的函数。
manipulateValue(mcButton.scaleX);
function manipulateValue(mcProperty:?)
{
mcProperty += 2;
..execute other things here...
}
该函数对几个属性和几个movieclip执行相同的代码,所以我必须使它成为通用的。关于我如何做到这一点的任何帮助?
答案 0 :(得分:2)
如果你想操纵几个属性..如何传递mcButton对象?
manipulateValue(mcButton);
function manipulateValue(obj:MovieClip)
{
obj.scaleX += 2;
// manipulate other properties
obj.scaleY += 2;
obj.width = ....;
obj.height = ....;
..execute other things here...
}
更新时间:8月19日13:55(JST)
行。如果你想一次传递一个属性,那怎么样?
manipulateValue(mcButton, "scaleX");
manipulateValue(mcButton, "scaleY");
function manipulateValue(obj:MovieClip, prop: String)
{
if (obj.hasOwnProperty(prop)){
obj[prop] += 2;
}
..execute other things here...
}
答案 1 :(得分:1)
好像你已经足够接近你所追求的了。我相信您尝试使用的内容称为通配符(例如:$("#subcat").change(function(){
)。
虽然我确信我已经读到使用通配符并不是最好的事情 - 我不完全确定具体的细节原因,但我确定它被视为"不良做法" - 所以尝试使用:
function manipulateValue(val:*)
请注意,function manipulateValue(val:Number)
{
// lines of code such as:
// val += 20;
}
,scaleX
和scaleY
都是alpha
值 - 所以使用它会有效。
如果您还打算操纵不是Number
的值,那么最好使用上面的通配符示例。