简单碰撞算法及其demo(屏幕气泡原理)

本文介绍了如何实现屏幕气泡效果,即小球碰撞到屏幕边缘时改变运动方向的碰撞算法。通过设置初始速度和角度,计算每个轴上的分速度,并不断更新小球位置。当检测到小球达到X轴或Y轴边界时,调整相应轴的速度方向,从而实现小球的反弹动画。
摘要由CSDN通过智能技术生成

这里写图片描述
想要做成的效果就是上面的图上的效果,当小球碰到屏幕的边缘的时候,则会改变方向!

原理分析:
这里写图片描述
原理就是上图描述的那样了.
1速度V0,初始位置和初始角度是需要初始确定的
2根据初始角度和速度V0,计算出在XY轴上的分速度,然后draw完一次就更新一次小球的位置,不停的draw和更新位置
3更新位置后判断此时小球是否到达了X轴,Y轴的边界,如果是则更改在该轴的方向

代码分析:
1.确定初始值

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        top = getTop() + radius + paintWidth/2;
        left = getLeft() &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值