为什么无法封装

qq_33628566 2017-08-06 09:16:20
<canvas id=cc width=800 height=800></canvas> <script> var can,ctx,ow,ex,ey; var A,B,C,D; var a,b,c,d; po=function(x,y,z){ this.x=x;this.y=y;this.z=z; this.ww=z*4; } po.prototype={ constructor:po ,x:0,y:0,z:0,ww:0,ox:0,oy:0 ,doo:function(ow,ex,ey){ this.ox=(this.x-ex)*ow/this.ww+ex; this.oy=(this.y-ey)*ow/this.ww+ey; } ,rota:function(b,ra,rb,rc){ } } edraw=function(ctx){ can=document.getElementById("cc"); ctx=can.getContext("2d"); ow=can.width; ex=can.width/2; ey=can.height/2; A=new po(400,400,110); A.doo(ow,ex,ey); B=new po(600,400,110); B.doo(ow,ex,ey); C=new po(600,600,110); C.doo(ow,ex,ey); D=new po(400,600,110); D.doo(ow,ex,ey); a=new po(400,400,310); a.doo(ow,ex,ey); b=new po(600,400,310); b.doo(ow,ex,ey); c=new po(600,600,310); c.doo(ow,ex,ey); d=new po(400,600,310); d.doo(ow,ex,ey); ctx.beginPath(); ctx.moveTo(A.ox,A.oy); ctx.lineTo(B.ox,B.oy); ctx.lineTo(C.ox,C.oy); ctx.lineTo(D.ox,D.oy); ctx.lineTo(A.ox,A.oy); ctx.closePath() ctx.stroke(); ctx.beginPath(); ctx.moveTo(a.ox,a.oy); ctx.lineTo(b.ox,b.oy); ctx.lineTo(c.ox,c.oy); ctx.lineTo(d.ox,d.oy); ctx.lineTo(a.ox,a.oy); ctx.closePath() ctx.stroke(); ctx.beginPath(); ctx.moveTo(A.ox,A.oy); ctx.lineTo(a.ox,a.oy); ctx.closePath() ctx.stroke(); ctx.beginPath(); ctx.moveTo(B.ox,B.oy); ctx.lineTo(b.ox,b.oy); ctx.closePath() ctx.stroke(); ctx.beginPath(); ctx.moveTo(C.ox,C.oy); ctx.lineTo(c.ox,c.oy); ctx.closePath() ctx.stroke(); ctx.beginPath(); ctx.moveTo(D.ox,D.oy); ctx.lineTo(d.ox,d.oy); ctx.closePath() ctx.stroke(); }edraw(); </script>
...全文
135 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧