{"id":500,"date":"2018-10-07T16:39:18","date_gmt":"2018-10-07T08:39:18","guid":{"rendered":"http:\/\/blog.xrhoujie.com\/?p=500"},"modified":"2018-11-05T17:01:03","modified_gmt":"2018-11-05T09:01:03","slug":"creator-%e4%b8%80%e7%ac%94%e7%94%bb%e6%95%88%e6%9e%9c%e8%a7%a3%e6%9e%90","status":"publish","type":"post","link":"http:\/\/blog.xrhoujie.com\/?p=500","title":{"rendered":"Creator \u4e00\u7b14\u753b\u6548\u679c\u89e3\u6790"},"content":{"rendered":"<p>\u770b\u6587\u7ae0\u524d\u8bf7\u5148\u719f\u8bfbgraphics\u7ec4\u4ef6\uff0c<\/p>\n<p><a href=\"https:\/\/docs.cocos.com\/creator\/manual\/zh\/components\/graphics.html?h=graphics\">\u70b9\u6211\u8fdb\u5165<\/a><\/p>\n<p>\u5e9f\u8bdd\u4e0d\u903c\u903c\uff0c\u76f4\u63a5\u4e0a\u7075\u9b42\u753b\u5bb6\u7684demo\u6548\u679c<\/p>\n<div style=\"width: 464px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-500-1\" width=\"464\" height=\"960\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"http:\/\/blog.xrhoujie.com\/wp-content\/uploads\/2018\/11\/1541407162020129.mp4?_=1\" \/><a href=\"http:\/\/blog.xrhoujie.com\/wp-content\/uploads\/2018\/11\/1541407162020129.mp4\">http:\/\/blog.xrhoujie.com\/wp-content\/uploads\/2018\/11\/1541407162020129.mp4<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<p>\u753b\u7b14\u6548\u679c \u8fd9\u91cc\u4e3b\u8981\u662f\u5e94\u7528graphics\u7ec4\u4ef6\uff0c<\/p>\n<p>\u4e0a\u4ee3\u7801\uff1a<br \/>\n<code><br \/>\ncc.Class({<br \/>\nextends: cc.Component,<\/code><\/p>\n<p>properties: {<br \/>\npink: cc.Node, \/\/\u8272\u57571<br \/>\nyellow: cc.Node, \/\/\u8272\u57572<br \/>\npurple: cc.Node, \/\/\u8272\u57573<br \/>\nareaNode: cc.Node, \/\/mask\u7236\u8282\u70b9<br \/>\n},<br \/>\nonLoad: function () {<br \/>\n\/\/\u83b7\u53d6\u753b\u7b14\u7ec4\u4ef6<br \/>\nthis.ctx = this.getComponent(cc.Graphics);<br \/>\n},<br \/>\nstart() {<br \/>\n\/\/\u89e6\u5c4f<br \/>\nthis.areaNode.on(cc.Node.EventType.TOUCH_START, (touch) =&gt; {<br \/>\nthis.onTouchBegan(touch);<br \/>\n}, this);<br \/>\n\/\/\u79fb\u52a8<br \/>\nthis.areaNode.on(cc.Node.EventType.TOUCH_MOVE, (touch) =&gt; {<br \/>\nthis.onTouchMoved(touch);<br \/>\n}, this);<br \/>\n\/\/\u5728\u533a\u57df\u5185\u79fb\u52a8\u7ed3\u675f<br \/>\nthis.areaNode.on(cc.Node.EventType.TOUCH_END, () =&gt; {<br \/>\nthis.onTouchEnded();<br \/>\n}, this);<br \/>\n\/\/\u5728\u533a\u57df\u5916\u79fb\u52a8\u7ed3\u675f<br \/>\nthis.areaNode.on(cc.Node.EventType.TOUCH_CANCEL, () =&gt; {<br \/>\n\/\/\u6e05\u7406\u7b14\u5237<br \/>\nthis.ctx.clear();<br \/>\n}, this);<\/p>\n<p>},<br \/>\n\/\/\u70b9\u51fb\u903b\u8f91<br \/>\nonTouchBegan(touch) {<br \/>\nvar touchLoc = touch.getLocation();<br \/>\ntouchLoc = this.node.parent.convertToNodeSpaceAR(touchLoc);<br \/>\nthis.points = [touchLoc];<br \/>\nreturn true;<br \/>\n},<br \/>\n\/\/\u79fb\u52a8\u903b\u8f91<br \/>\nonTouchMoved(touch) {<br \/>\nvar touchLoc = touch.getLocation();<br \/>\ntouchLoc = this.node.parent.convertToNodeSpaceAR(touchLoc);<\/p>\n<p>this.points.push(touchLoc);<\/p>\n<p>this.ctx.clear(); \/\/\u6e05\u7406\u5c4f\u5e55<\/p>\n<p>for (let i = 0, l = this.points.length; i &lt; l; i++) {<br \/>\nlet p = this.points[i];<br \/>\nif (i === 0) {<br \/>\nthis.ctx.moveTo(p.x, p.y);<br \/>\n} else {<br \/>\nthis.ctx.lineTo(p.x, p.y);<br \/>\n}<br \/>\n}<br \/>\nthis.ctx.stroke();<br \/>\n\/\/ console.log(&#8216;move&#8217;);<br \/>\n},<br \/>\n\/\/ \u624b\u52bf\u62ac\u8d77\u903b\u8f91<br \/>\nonTouchEnded() {<br \/>\n\/\/ this.ctx.clear(); \/\/\u624b\u52bf\u62ac\u8d77\u6e05\u7406\u753b\u5e03<br \/>\n},<br \/>\nupdate: function (dt) {<br \/>\nthis.pink.on(&#8216;touchstart&#8217;, () =&gt; {<br \/>\n\/\/\u70b9\u51fb\u8272\u5757\u5207\u6362\u753b\u7b14\u7b14\u89e6\u989c\u8272<br \/>\nlet color = this.pink.children[0].getComponent(cc.Label).string;<br \/>\nthis.ctx.strokeColor.fromHEX(color)<br \/>\n})<br \/>\nthis.yellow.on(&#8216;touchstart&#8217;, () =&gt; {<br \/>\n\/\/\u70b9\u51fb\u8272\u5757\u5207\u6362\u753b\u7b14\u7b14\u89e6\u989c\u8272<br \/>\nlet color = this.yellow.children[0].getComponent(cc.Label).string;<br \/>\nthis.ctx.strokeColor.fromHEX(color)<br \/>\n})<br \/>\nthis.purple.on(&#8216;touchstart&#8217;, () =&gt; {<br \/>\n\/\/\u70b9\u51fb\u8272\u5757\u5207\u6362\u753b\u7b14\u7b14\u89e6\u989c\u8272<br \/>\nlet color = this.purple.children[0].getComponent(cc.Label).string;<br \/>\nthis.ctx.strokeColor.fromHEX(color)<br \/>\n})<br \/>\n},<br \/>\n});<\/p>\n<p>\u6b22\u8fcemark\uff0c\u8fdb\u884c\u8865\u5145\u5185\u5bb9<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u770b\u6587\u7ae0\u524d\u8bf7\u5148\u719f\u8bfbgraphics\u7ec4\u4ef6\uff0c \u70b9\u6211\u8fdb\u5165 \u5e9f\u8bdd\u4e0d\u903c\u903c\uff0c\u76f4\u63a5\u4e0a\u7075\u9b42\u753b\u5bb6\u7684demo\u6548\u679c &nbsp; \u753b\u7b14 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":307,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[30],"tags":[32],"_links":{"self":[{"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts\/500"}],"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=500"}],"version-history":[{"count":1,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts\/500\/revisions"}],"predecessor-version":[{"id":502,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/posts\/500\/revisions\/502"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=\/wp\/v2\/media\/307"}],"wp:attachment":[{"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.xrhoujie.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}