{"id":678,"date":"2020-01-04T17:05:03","date_gmt":"2020-01-04T09:05:03","guid":{"rendered":"http:\/\/blog.xrhoujie.com\/?p=678"},"modified":"2020-01-02T10:36:15","modified_gmt":"2020-01-02T02:36:15","slug":"egret%e5%9f%ba%e7%a1%80-%e5%ba%8f%e5%88%97%e5%b8%a7%e4%b8%8e%e8%b6%85%e6%97%b6%e8%a7%a6%e5%8f%91%e5%99%a8","status":"publish","type":"post","link":"http:\/\/blog.xrhoujie.com\/?p=678","title":{"rendered":"egret\u57fa\u7840-\u5e8f\u5217\u5e27\u4e0e\u8d85\u65f6\u89e6\u53d1\u5668"},"content":{"rendered":"<p><code><br \/>\n\/**<br \/>\n * @copyright www.egret.com<br \/>\n * @author yjtx<br \/>\n * @desc \u5e27\u52a8\u753b\u793a\u4f8b\u3002<br \/>\n *      \u89e6\u6478\u821e\u53f0\u4f1a\u91cd\u65b0\u64ad\u653e\u3002<br \/>\n *      \u64ad\u653e\u8fc7\u7a0b\u4e2d\u5982\u679c\u6709\u5e27\b\u4e8b\u4ef6\uff0c\u4f1a\u89e6\u53d1egret.MovieClipEvent<br \/>\n *      .FRAME_LABEL\u4e8b\u4ef6\u3002<br \/>\n *      \u5728\u64ad\u653e\u7ed3\u675f\u4e00\u6b21\u540e\u4f1a\u89e6\u53d1egret.Event.LOOP_COMPLETE<br \/>\n *      \u4e8b\u4ef6\u3002\u5168\u90e8\u64ad\u653e\u5b8c\u5168\u540e\uff0c\u4f1a\u89e6\u53d1egret.Event.COMPLETE\u4e8b\u4ef6<br \/>\n *      \u3002<br \/>\n *\/<\/p>\n<p>class Main extends egret.DisplayObjectContainer {<\/p>\n<p>    private _mcData: any;<br \/>\n    private _mcTexture: egret.Texture;<br \/>\n    private idTimeout:number<\/p>\n<p>    constructor() {<br \/>\n        super();<\/p>\n<p>        this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);<br \/>\n    }<\/p>\n<p>    private onAddToStage(event: egret.Event) {<br \/>\n        this.load(this.initMovieClip);<\/p>\n<p>    }<br \/>\n    private setEgretTimer(node) {<br \/>\n        this.idTimeout = egret.setTimeout(function (arg) {<br \/>\n            console.log(\"timeout:\", arg);<br \/>\n        }, this, 3000, \"egret\"<br \/>\n        );<br \/>\n        console.log(\"start setTimeout\");<\/p>\n<p>        node.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTouch, this);<br \/>\n    }<br \/>\n    private onTouch() {<br \/>\n        egret.clearTimeout( this.idTimeout );<br \/>\n    }<\/p>\n<p>    private initMovieClip(): void {<br \/>\n        console.log('-=-=-=-=-=-=-222222222')<br \/>\n        \/*** \u672c\u793a\u4f8b\u5173\u952e\u4ee3\u7801\u6bb5\u5f00\u59cb ***\/<br \/>\n        var mcDataFactory = new egret.MovieClipDataFactory(this._mcData, this._mcTexture);<br \/>\n        var role: egret.MovieClip = new egret.MovieClip(mcDataFactory.generateMovieClipData(\"attack\"));<br \/>\n        this.addChild(role);<br \/>\n        role.touchEnabled = true;<br \/>\n        \/\/\u64ad\u653e3\u6b21\u6570<br \/>\n        role.gotoAndPlay(1, 3);<br \/>\n        \/\/ role.gotoAndPlay('atc',1);<br \/>\n        role.x = 300;<br \/>\n        role.y = 600;<\/p>\n<p>        \/\/  role.addEventListener(egret.MovieClipEvent.FRAME_LABEL,(e:egret.MovieClipEvent)=>{<br \/>\n        \/\/     console.log(e.type,e.frameLabel, role.currentFrame);<br \/>\n        \/\/frame_label @attack 14<br \/>\n        \/\/  },this)<\/p>\n<p>        this.setEgretTimer(role)<\/p>\n<p>        role.addEventListener(egret.Event.COMPLETE, function (e: egret.Event): void {<br \/>\n            egret.log(\"play over!\")<br \/>\n        }, this);<\/p>\n<p>        var count: number = 0;<\/p>\n<p>        role.addEventListener(egret.Event.LOOP_COMPLETE, function (e: egret.Event): void {<br \/>\n            egret.log(\"play times:\" + ++count);<br \/>\n        }, this);<\/p>\n<p>        role.addEventListener(egret.MovieClipEvent.FRAME_LABEL, function (e: egret.MovieClipEvent): void {<br \/>\n            egret.log(\"frameLabel:\" + e.frameLabel);<br \/>\n        }, this);<\/p>\n<p>        this.stage.addEventListener(egret.TouchEvent.TOUCH_TAP, function (e: egret.TouchEvent): void {<br \/>\n            count = 0;<br \/>\n            role.gotoAndPlay(1, 1);<br \/>\n        }, this);<br \/>\n        \/*** \u672c\u793a\u4f8b\u5173\u952e\u4ee3\u7801\u6bb5\u7ed3\u675f ***\/<\/p>\n<p>    }<\/p>\n<p>    protected load(callback: Function): void {<br \/>\n        var count: number = 0;<br \/>\n        var self = this;<\/p>\n<p>        var check = function () {<br \/>\n            count++;<br \/>\n            if (count == 2) {<br \/>\n                callback.call(self);<br \/>\n                console.log('-=-=-=-=-=-=-111111111')<br \/>\n            }<br \/>\n        }<\/p>\n<p>        \/\/load png\u56fe\u7247<br \/>\n        var loader = new egret.URLLoader();<br \/>\n        loader.addEventListener(egret.Event.COMPLETE, function loadOver(e) {<br \/>\n            var loader = e.currentTarget;<\/p>\n<p>            this._mcTexture = loader.data;<\/p>\n<p>            check();<br \/>\n        }, this);<\/p>\n<p>        loader.dataFormat = egret.URLLoaderDataFormat.TEXTURE;<br \/>\n        var request = new egret.URLRequest(\"resource\/assets\/mc\/animation.png\");<br \/>\n        loader.load(request);<\/p>\n<p>        \/\/load json\u6587\u4ef6\u4fe1\u606f<br \/>\n        var loader = new egret.URLLoader();<br \/>\n        loader.addEventListener(egret.Event.COMPLETE, function loadOver(e) {<br \/>\n            var loader = e.currentTarget;<\/p>\n<p>            this._mcData = JSON.parse(loader.data);<\/p>\n<p>            check();<br \/>\n        }, this);<\/p>\n<p>        \/\/ loader.dataFormat = egret.URLLoaderDataFormat.TEXT;<br \/>\n        var request = new egret.URLRequest(\"resource\/assets\/mc\/animation.json\");<br \/>\n        loader.load(request);<br \/>\n    }<br \/>\n}<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/** * @copyright www.egret.com * @author yjtx * @desc \u5e27 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":143,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[15],"_links":{"self":[{"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts\/678"}],"collection":[{"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=678"}],"version-history":[{"count":1,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts\/678\/revisions"}],"predecessor-version":[{"id":679,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts\/678\/revisions\/679"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/media\/143"}],"wp:attachment":[{"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=678"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}