Actionscript 3 Actionscript 3错误1130
文件: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; } } } 上面是我修复困难的文件。我希望文件在完成时返回最终计算的角度(以度为单位),但它会抛出此错误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 {
第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);
重命名函数很有帮助,然后我不得不将其更改为静态以按我的预期方式使用;如果你的问题已经解决,你应该接受答案。