关于其他三边缘的碰撞检测

来源:4-2 使用canvas做个物理实验

香宝的夫差

2017-05-22 09:14

if(ball.x>=1024-ball.r){
        vall.x=1024-ball.r;
        ball.vx=-ball.vx;
    }

为何没效果呢?如果我要左右两边缘都有碰撞检测效果呢?

写回答 关注

4回答

  • 慕粉1471129054
    2017-07-31 12:46:20
    	if(ball.y >= 600-ball.r){
    					ball.y=600-ball.r;
    					ball.vy = -ball.vy;
    				}
    				if(ball.y<=ball.r){
    		        ball.y=ball.r;
    		        ball.vy=-ball.vy;
    		    }
    				if(ball.x<=ball.r){
    		        ball.x=ball.r;
    		        ball.vx=-ball.vx;
    		    }
    				if(ball.x>= 1100 -ball.r){
    						ball.x=1100 -ball.r;
    						ball.vx=-ball.vx;
    				}


    香宝的夫差

    我在评论里已经写出来了,还是谢谢回答

    2017-08-02 13:18:32

    共 1 条回复 >

  • 慕粉1471129054
    2017-07-31 12:42:03

    这么久过去了不知道你的问题有没有解决,我就是这样写的啊 对着呢

  • 香宝的夫差
    2017-05-22 09:38:08

    //左边缘碰撞返回

    if(ball.x<=ball.r){
            ball.x=ball.r;
            ball.vx=-ball.vx;
        }

    //右边缘碰撞返回

    if(ball.x>=1024-ball.r){
            ball.x=1024-ball.r;
            ball.vx=-ball.vx;
        }

    //上边缘碰撞返回

    if(ball.y<=ball.r){
            ball.y=ball.r;
            ball.vy=-ball.vy*0.9;
        }


  • 香宝的夫差
    2017-05-22 09:29:02

    if(ball.x>=1024-ball.r){
    ball.x=1024-ball.r;
            ball.vx=-ball.vx;
        }

炫丽的倒计时效果Canvas绘图与动画基础

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

96870 学习 · 1029 问题

查看课程

相似问题