1
package
{
    import flash.display.Sprite;
    import flash.media.Sound;
    import flash.media.SoundChannel;

    public class EmbeddedSoundExample extends Sprite
    {
        [Embed(source="smallSound.mp3")]
        public var soundClass:Class;

        public function EmbeddedSoundExample()
        {
          //WHAT DOES "as" keyword DO IN THE FOLLOWING LINE ??
          //*************************************************

            var smallSound:Sound = new soundClass() as Sound;

            //COULD BE WRITTEN AS : 
            //==>>>> var smallSound:Sound = new soundClass() ???
            // OR
            ////==>>>> var smallSound:Sound = new Sound() ???
         //******************************************************

            smallSound.play();
        }
    }
}
4

2 回答 2

5

这是 ActionScript 3 中引入的强制转换运算符。与as(与Type(object)强制转换相反)的区别在于,如果强制转换失败,结果将是该类型的默认值。更多关于这里

于 2012-09-12T14:26:15.533 回答
1

as铸造,使用您正在使用的类型之类的数据,不要更改数据。如果您使用 Type(object) 并且无法转换为此类型,则返回默认值(null、zero 或 undefined)

于 2012-09-13T05:46:47.063 回答