Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 编写构造函数的更快方法?_Actionscript 3_Flash - Fatal编程技术网

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,带有某种隐式点声明。