代码之家  ›  专栏  ›  技术社区  ›  Soviut

如何将参数传递给ActionScript3中的阶段实例?

  •  0
  • Soviut  · 技术社区  · 14 年前

    我的舞台上有一个设计时从图书馆拖出来的实例。此实例链接到一个自定义类,该类的构造函数接受一个参数。

    package
    {
        import flash.display.MovieClip;
        import flash.media.Sound;
    
        public class PianoKey extends MovieClip
        {
            var note:Sound;
    
            public function PianoKey(note:Sound)
            {
                this.note = note;
            }
        }
    }
    

    显然,尝试按原样运行代码会产生以下参数计数错误:

    参数错误:错误1063:参数 pianokey()上的计数不匹配。预期 1,得到0。

    是否有任何方法可以在已手动拖动到该阶段的实例上设置参数?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Soviut    14 年前

    这可能对你有帮助。在自定义类中只需要很少的更改

    package
    {
        import flash.display.MovieClip;
        import flash.media.Sound;
    
        public class PianoKey extends MovieClip
        {
            var note:Sound;
    
            public function PianoKey(note:Sound=null)
            {
                if(note!=null)
                {
                  this.note = note;
                } 
            }
        }
    }
    
        2
  •  1
  •   spender    14 年前

    我想唯一的办法就是 PianoKey 组件。这将具有可设置的组件属性。不过,这真是一件痛苦的事情。

        3
  •  1
  •   PatrickS    14 年前

    为什么不使用setter?

    package
    {
        import flash.display.MovieClip;
        import flash.media.Sound;
    
        public class PianoKey extends MovieClip
        {
            var _note:Sound;
    
            public function PianoKey()
            {
            }
    
            public function set note(value:Sound)
            {
                this._note = value;
            }
        }
    }