android自定义View之气球碰撞效果
private void initBalls() {ballBeans = new BallBean[mBallCount];for (int i = 0; i < ballBeans.length; i++) {ballBeans[i] = new BallBean();ballBeans[i].setRadius((new Random().nextInt(mMaxSize-mMinSize) + mMinSize)/2);ballBeans[i].setX(new Random().nextInt(mViewWidth-ballBeans[i].getRadius()));ballBeans[i].setY(new Random().nextInt(mViewHeight-ballBeans[i].getRadius()));ballBeans[i].setSpeedY(new Random().nextBoolean()?(new Random().nextInt(4) + mSpeedY):-(new Random().nextInt(4) + mSpeedY));ballBeans[i].setSpeedX(new Random().nextBoolean()?(new Random().nextInt(4) + mSpeedX):-(new Random().nextInt(4) + mSpeedX));ballBeans[i].setAlpha(new Random().nextInt(255));}
}//更新位置以及速度方向
private void updatePara() {int x;int y;for (BallBean ball : ballBeans) {if (ball == null) {break;}x = ball.getX() + ball.getSpeedX();y = ball.getY() + ball.getSpeedY();if((x-ball.getRadius())<=0 || (x+ball.getRadius())>=mViewWidth){ball.setSpeedX(-ball.getSpeedX());}else {ball.setX(x);}if((y-ball.getRadius())<=0 || (y-ball.getRadius())>=mViewHeight){ball.setSpeedY(-ball.getSpeedY());}else {ball.setY(y);}}
}private void drawView() {if (surfaceHolder == null) {return;}Canvas canvas = surfaceHolder.lockCanvas();if (canvas == null) {return;}canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);drawBall(canvas);surfaceHolder.unlockCanvasAndPost(canvas);
}private void drawBall(Canvas canvas) {for (BallBean ballbean : ballBeans) {paint.setAlpha(ballbean.getAlpha());canvas.drawCircle(ballbean.getX(),ballbean.getY(),ballbean.getRadius(),paint);}
}
工程源码
android自定义View之气球碰撞效果相关推荐
- android 立体 流量球,Android自定义View——实现水波纹效果类似剩余流量球
Android自定义View--实现水波纹效果类似剩余流量球 三个点 pre ber block span 初始化 move 理解最近突然手痒就想搞个贝塞尔曲线做个水波纹效 ...
- android圆形波纹按钮,android自定义View——圆形波纹扫描效果
蓝牙项目,考虑到后面可能会用到这个扫描的效果,所以参照大神写好的控件,增加了自己需要使用的接口.也顺便巩固一下自定义view中各种零碎的知识点. 需要的效果图 先放一个效果图,点击中心图片开始动画,再 ...
- Android自定义View实现QQ气泡效果
首先我们来看一下最终的效果: 根据我们上边拆分出来的公式,我们分别看看每一个效果需要如何去实现: 红色圆:canvas.drawCircle 消息数字:canvas.drawText 拖拽粘性效果:c ...
- android 高仿ios开关,Android自定义view仿IOS开关效果
本文主要讲解如何在 Android 下实现高仿 iOS 的开关按钮,并非是在 Android 自带的 ToggleButton 上修改,而是使用 API 提供的 onDraw.onMeasure.Ca ...
- android 环绕布局,Android自定义View实现圆形环绕效果
之前项目中需要实现一个四周环绕中心圆形头像的效果,感觉还是自定义比较方便,于是就自己封装了一个控件去实现.先贴张图显示最终效果. 首先自定义一个View继承自LinearLayout,通过动态添加ch ...
- Android好评功能,Android自定义View实现五星好评效果
本文实例为大家分享了Android实现五星好评效果的具体代码,供大家参考,具体内容如下 这个效果想必大家都非常熟悉,那么Android如何自定义实现这种效果呢? 首先自定义属性: 下面看看具体实现: ...
- android北京地铁源代码,Android自定义View实现地铁显示牌效果
本文实例为大家分享了Android地铁显示牌的具体代码,供大家参考,具体内容如下 预览效果 目录 SubwayBoardView.java 代码 public class SubwayBoardVie ...
- android自定义水波纹,Android自定义View——实现水波纹效果类似剩余流量球(示例代码)...
最近突然手痒就想搞个贝塞尔曲线做个水波纹效果玩玩,终于功夫不负有心人最后实现了想要的效果,一起来看下吧: 效果图镇楼 一:先一步一步来分解一下实现的过程 需要绘制一个正弦曲线(sin)或者余弦曲线(c ...
- android 光圈动画,Android 自定义View学习(4)波浪效果+光圈扩散效果
这篇博客的效果是我仿照WPJY大神的一篇博客做的,加入了一些我自己的改动 先来看下效果 效果图上可能有些卡,但实际运行很流畅 上代码喽~~ /** * 外层的几层光环 */ private Paint ...
- Android自定义View——实现水波纹效果类似剩余流量球
最近突然手痒就想搞个贝塞尔曲线做个水波纹效果玩玩,终于功夫不负有心人最后实现了想要的效果,一起来看下吧: 效果图镇楼 一:先一步一步来分解一下实现的过程 需要绘制一个正弦曲线(sin)或者余弦曲线(c ...
最新文章
- 计算机科学技术作文600,生活因科技而精彩作文600字
- Nginx 的这些妙用,你都 get 到了吗?
- ViSP视觉库中实现AprilTag的方法
- express 对数据库数据增删改查
- 【Linux网络编程】TCP
- 联邦学习安全与隐私保护综述 A survey on security and privacy of federated learning
- 线性规划问题求解(Excel、python和手工求解)
- Dukto 傻瓜安装教程
- 8、项目管理基础知识
- 信息收集之——FOFA网站常用搜索语法
- 时光轴 时间轴 效果
- C语言删除字符串中的单词
- Python Django 基本创建 App创建
- 新浪微博热搜榜“背后的男人”讲述热搜背后的秘密
- 角色攻击、角色特殊动作
- 简单认识向上转型和向下转型
- java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解
- 自动泊车(之三)车位线定位(视觉定位)
- AI Challenger 全球AI挑战赛[一]——大赛介绍
- flash如何转html5,闪客精灵如何将Flash格式转换成HTML5
热门文章
- optimizer.zero_grad()
- 《linux核心应用命令速查》连载五:atq:显示目前使用at命令后待执行的命令队列...
- ANSI/ISO C++ Professional Programmer's Handbook 7
- vue-amap的使用
- 百度编辑器上传图片后转到七牛存储
- Noise aware learning for speech enhancement
- 协方差与相关系数介绍
- webpack-theme-color-replacer自定义element-ui主题
- 顶着“顶流”光环面对舆论质疑,为何威震天向左,玲娜贝儿向右?
- 知道创宇区块链安全实验室|Deus Finance预言机攻击事件分析