AS 3 функции необязательное получение значения ошибки - PullRequest
0 голосов
/ 15 июля 2010

У меня есть класс графического интерфейса, Ошибка получения необязательного значения функции.Если я не передаю fillcolor и другие дополнительные значения.

Ошибка:

ReferenceError: Error #1069: Property fillColor not found on String and there is no default value.

AS 3,0

    var windowBase:Sprite = UIClip("Sprite");
    /* sliderClip = Gui.UIClip("MovieClip",{width:100, height:50, fillColor:0xFFFF0D, alpha:.7});
    */
    function UIClip (type:String, params:object = '') {
       var clip;
       trace("Hello")
       if (type == 'MovieClip') {
        clip = new MovieClip  ;
       } else {
        clip = new Sprite;
       }
       //trace(params + "params.fillColor " + params.fillColor)
       if (params is Object) {
        clip.graphics.beginFill ((params.fillColor != "") ? params.fillColor : 0xFFFFFF, params.alpha ? params.alpha : 1 );
        clip.graphics.lineStyle (params.lineThickness != "" ? params.lineThickness : 1, params.borderColor ? params.borderColor: 0x000000);
        clip.graphics.drawRoundRect (0,0, 
         (params.width != undefined ) ? params.width : 100, 
         (params.height != undefined) ? params.height : 100 ,
         params.eW ? params.eW : 0,
         params.eH ? params.eH : 0);
        clip.graphics.endFill ();
        //trace("Hello")
       }

       return clip;
      }

Как решить эту проблему?

1 Ответ

1 голос
/ 15 июля 2010

Условие "if (params is Object)" верно.Строка тоже объект.Я использую ноль для необязательных параметров, если они не имеют значения по умолчанию.

Попробуйте это: функция UIClip (тип: String, params: object = null) и проверка "if (params! = Null)"

...