Actionscript 3 Actionscript 3错误1130

Actionscript 3 Actionscript 3错误1130,actionscript-3,flash-cs6,Actionscript 3,Flash Cs6,文件:point_direction.as package { public class point_direction { var radianAngle:Number; var degreeAngle:Number; public function point_direction(x1:Number, y1:Number, x2:Number, y2:Number) : Number {

文件:point_direction.as

package { public class point_direction { var radianAngle:Number; var degreeAngle:Number; public function point_direction(x1:Number, y1:Number, x2:Number, y2:Number) : Number { radianAngle = Math.atan2(y1 - y2, x1 - x2); degreeAngle = radianAngle * 180 / Math.PI(); return degreeAngle; } } } 上面是我修复困难的文件。我希望文件在完成时返回最终计算的角度(以度为单位),但它会抛出此错误


第7行,1130:构造函数不能指定返回类型。这里您应该小心。类构造函数方法不应该返回值,因为它实际上是在返回自己。这就解释了为什么会收到错误消息

因此,请选择不同的函数名,请参见下面的示例

Public function calculate_point_dirction(x1:Number, ...):Number
{
 // do staff
 Return degreeAngle;
 }

您的错误与预期一致。构造函数是类的创建方法,因此它返回该类的实例-添加除void之外的任何类型的返回类型都将抛出该错误

看起来你可能想把它变成一个静态函数?如果是这样的话,假设您的软件包只执行此功能,那么您的软件包就是这样的:

package {   
    public class point_direction {

        public static function pointDirection(x1:Number, y1:Number, x2:Number, y2:Number):Number {
            var radianAngle = Math.atan2(y1 - y2, x1 - x2);
            var degreeAngle = radianAngle * 180 / Math.PI();

            return degreeAngle;
        }
    }
}

您可以通过调用point_direction来访问它。pointDirectionx1、y1、x2、y2

如果您希望类point_direction的实例表示degreeAngle,可以执行以下操作:

package
{
    public class point_direction
    {

        private var _radianAngle:Number;
        private var _degreeAngle:Number;


        public function point_direction(x1:Number, y1:Number, x2:Number, y2:Number)
        {
            _radianAngle = Math.atan2(y1 - y2, x1 - x2);
            _degreeAngle = radianAngle * 180 / Math.PI();
        }


        public function get degreeAngle():Number
        {
            return _degreeAngle;
        }
    }
}
请注意,构造函数没有返回任何内容,因为构造函数不能返回任何内容

您将改为执行以下操作:

var dir:point_direction = new point_direction(0, 1, 2, 3);
trace(dir.degreeAngle);

重命名函数很有帮助,然后我不得不将其更改为静态以按我的预期方式使用;如果你的问题已经解决,你应该接受答案。