AS3:覆蓋Image類,修改指定圖片skin、

用處:換皮膚
部分代碼:(對比原來Image類,下面代碼是添加進去的)
_imgs:保存所有圖片
_skinId:皮膚id
img.skin = img.skin:設(shè)置皮膚時候,重新設(shè)置一下所有圖片路徑
imgs.push(this):創(chuàng)建一個圖片對象,需要添加進來
value = value.substr(0,index)+"/sn"+skinId + value.substr(index+4):修改指定圖片的路徑
比如:第一套皮膚的圖片命名sn1
;第二套皮膚的圖片命名sn2

        private static var _imgs:Array = [];
        private static var _skinId:String = "1";
        public static function setSkinId(id:String):void{
            _skinId = id;
            
            var img:Image;
            for(var i:int = _imgs.length-1;i>=0;i--){
                img = _imgs[i];
                if(img.destroyed){
                    _imgs.splice(i,1);
                    continue;
                }
                img.skin = img.skin;
            }
        }

       /**
         * 創(chuàng)建一個 <code>Image</code> 實例。
         * @param skin 皮膚資源地址。
         */
        public function Image(skin:String = null) {
            _imgs.push(this);
            this.skin = skin;
        }

        public function set skin(value:String):void {
            if(value != null){
                var index:int = value.indexOf("/sn");
                if(index > 0){
                    value = value.substr(0,index)+"/sn"+_skinId + value.substr(index+4);
                }
                
            }
            if (_skin != value) {
                _skin = value;
                if (value) {
                    var source:Texture = Loader.getRes(value);
                    if (source) {
                        this.source = source;
                        onCompResize();
                    } else Laya.loader.load(_skin, Handler.create(this, setSource, [_skin]), null, Loader.IMAGE,1,true,_group);
                } else {
                    this.source = null;
                }
            }
        }

修改皮膚代碼:

Image.setSkinId(1);
//Image.setSkinId(2);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容