为了账号安全,请及时绑定邮箱和手机立即绑定

请老师指点:
我用一下循环去掉了触边的星星

不知道怎么解决重叠的星星


我试了下2个for 那样就机器就卡死

for(var i=0;i<rounds.length;i++){
                if(rounds[i].x>rounds[i].R && rounds[i].x+rounds[i].R<canvas.width && rounds[i].y>rounds[i].R && rounds[i].y+rounds[i].R<canvas.height ){
                    
                    rounds[cnt++]=rounds[i];
                }
            }


正在回答

2 回答

for(var i=0;i<200;i++){
                var ran=Math.random()*10+10;
                var x=Math.random()*canvas.width;
                var y=Math.random()*canvas.height;
                var a=Math.random()*360;

                around={
                    context:context,
                    r:ran/2.0,
                    R:ran,
                    x:x,
                    y:y,
                    a:a
                }
                rounds.push(around);
            }

不知道怎么做呢,请老师指点

0 回复 有任何疑惑可以回复我~
#1

Da嗒_Sunny

去了解一下这isPointInPath() 和 isPointInStroke()
2014-12-27 回复 有任何疑惑可以回复我~
#2

小王子抓猫咪 回复 Da嗒_Sunny

兄台,isPointInStroke()这个方法你是在哪里看到的,我百度了一下,mozilla上有人在研究这个,但是英文实在太多,没耐心看。
2015-08-29 回复 有任何疑惑可以回复我~
#3

Da嗒_Sunny 回复 小王子抓猫咪

https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D
2015-08-30 回复 有任何疑惑可以回复我~
#4

小王子抓猫咪 回复 Da嗒_Sunny

thanks
2015-08-31 回复 有任何疑惑可以回复我~
查看1条回复

尝试一下在生成层面解决呢?:)

0 回复 有任何疑惑可以回复我~
#1

lechenging 提问者

不知道怎么做呢,请老师指点 for(var i=0;i<200;i++){ var ran=Math.random()*10+10; var x=Math.random()*canvas.width; var y=Math.random()*canvas.height; var a=Math.random()*360; around={ context:context,
2014-10-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Canvas绘图详解
  • 参与学习       72878    人
  • 解答问题       422    个

Canvas系列教程第二课,详解Canvas各接口,让同学彻底掌握Canvas绘图

进入课程
意见反馈 帮助中心 APP下载
官方微信