Actionscript 3 编写构造函数的更快方法?
我必须使用很多点构造函数,比如:Actionscript 3 编写构造函数的更快方法?,actionscript-3,flash,Actionscript 3,Flash,我必须使用很多点构造函数,比如: function setLoc(o:*, loc:Point):void { o.x = loc.x; o.y = loc.y; } setLoc(obj1, new Point(25,50)); setLoc(obj2, new Point(13,-5)); setLoc(obj3, new Point(186.5,-23)); ... 有没有一种方法可以更简洁地编写这些代码,也许是一些宏或编译器技巧?必须写新的观点是非常乏味的。。。对于这
function setLoc(o:*, loc:Point):void
{
o.x = loc.x;
o.y = loc.y;
}
setLoc(obj1, new Point(25,50));
setLoc(obj2, new Point(13,-5));
setLoc(obj3, new Point(186.5,-23));
...
有没有一种方法可以更简洁地编写这些代码,也许是一些宏或编译器技巧?必须写新的观点是非常乏味的。。。对于这样一个简单的类。我希望我能做些像这样的事情:
setLoc(obj1, (25,50));
我不想将setLoco,p更改为setLoco,px,py,但我想这是最好的解决方案您可以这样做:
setLoc(obj1, {x:25, y:50});
只需将loc参数的类型更改为Object:
function setLoc(o:*, loc:Object):void
{
o.x = loc.x;
o.y = loc.y;
}
为什么不制作一个以x和y为独立参数的替代setLoc?对我来说似乎是最不讨厌的。你可以给它一个不同的名字来保持两个选项都可用,比如setXYas@Dave said,setLockobj1,25,50;is shorterI给出了一个糟糕的例子,setLoco,x,y的问题是更大函数的可读性:settractoryo,xstart,ystart,xend,yend看起来像settractoryobj1,10,0,20,30,但最好是像这样,settractoryobj1,10,0,20,30,带有某种隐式点声明。