Actionscript 3 as3工作区中的操作员过载 我知道在AS3中不可能重载运算符,并且一直使用GET和SET功能(这是出色的IMHO),但是现在我正在创建一个颜色类。

Actionscript 3 as3工作区中的操作员过载 我知道在AS3中不可能重载运算符,并且一直使用GET和SET功能(这是出色的IMHO),但是现在我正在创建一个颜色类。,actionscript-3,Actionscript 3,我要做的是一个颜色类,然后是rgb、hsl、hsv等子类型。。。我的问题是,当我创建这些变量时,当我读取它们的值时,它们显示为uint时,我如何创建它们 例如,我希望能够做到这一点 var myRGBcolour:RGB = new RGB(14,21,42); someSprite.graphics.beginFill(myRGBcolour); //for those of you who don't know,

我要做的是一个颜色类,然后是rgb、hsl、hsv等子类型。。。我的问题是,当我创建这些变量时,当我读取它们的值时,它们显示为uint时,我如何创建它们

例如,我希望能够做到这一点

var myRGBcolour:RGB = new RGB(14,21,42);
someSprite.graphics.beginFill(myRGBcolour);     //for those of you who don't know,
                                                //this function expects a uint
我怎样才能做到这一点? 我之前读过有关valueof函数的内容,但据我所知,如果你说的是
myRGBcolour.valueof()
之类的话,你就只能使用它了,但这违背了全部目的,我不妨做一个
myRGBcolour.toUint()
函数


谢谢,这是事先准备好的。

beginfl()需要一个单位,所以你必须给它一个。我认为有一个toUint方法听起来是最好的计划,或者有一个get属性。

beginfl()需要一个uint,所以你必须给它一个uint。我认为使用toUint方法听起来是最好的计划,或者使用get属性。

您可以尝试覆盖valueOf并进行特定转换:

someSprite.graphics.beginFill(0+myRGBcolour); // 0+ is similar to 0x
或者,如果您愿意:

someSprite.graphics.beginFill(myRGBcolour+0);

此结构用于

您可以尝试覆盖valueOf并进行特定转换:

someSprite.graphics.beginFill(0+myRGBcolour); // 0+ is similar to 0x
或者,如果您愿意:

someSprite.graphics.beginFill(myRGBcolour+0);

这种结构在

中使用,所以您希望将类作为参数传递,并使其自动成为uint?另外,请解释一下,创建和使用toUint函数的缺点是什么?我同意Eyeseem的观点-为什么对color类调用方法会破坏整个目的?很抱歉,我的问题不清楚,我只是认为可能有一种比使用getter函数更干净的方法。我想没有了。谢谢大家的帮助。干杯,你想通过你的课程作为一个论点,并让它自动成为一个uint?另外,请解释一下,创建和使用toUint函数的缺点是什么?我同意Eyeseem的观点-为什么对color类调用方法会破坏整个目的?很抱歉,我的问题不清楚,我只是认为可能有一种比使用getter函数更干净的方法。我想没有了。谢谢大家的帮助。干杯!!Thank's@KasztanBTW:我在AS3中写了一篇关于运算符重载的文章:Thank's,但看起来你已经适应了“new O()+0”;在anwyays的结尾…lolNo,如果你使用+,你不需要0.beauty!!Thank's@KasztanBTW:我在AS3:Thank's中写了一篇关于运算符重载的文章,但看起来你已经习惯了“new O()+0”;在anwyays的结尾…lolNo,如果你使用+,你不需要0。