这是一款敏捷类休闲小游戏,以点击屏幕打到随机跳出的头像为目标。主要有这么几个功能:
1. 设置人物头像
打开一个照相机,上面有猪头轮廓的mask, 把目标头像对准放到这个轮廓里面,按下中间的D-Pad键拍照。设置头像成功。
2. 设置声音
点击开始按钮,开始录音,完成后点击结束。点击播放来试听。不满意重新录制。
3. 开始游戏
在游戏中刚才设置好的头像会随机的从不同洞里面冒出来,看准时机点击它,它就原形毕露啦。被打以后会发出刚才录制的声音。
游戏的实现:
1. 使用Canvas画图。主游戏界面上使用了Handler消息处理机制来实现对UI的更新,在android里面,涉及到UI的操作,是不能用传统的Thread的方式来更新的。Handler就负责把消息抛出和捕捉,在捕捉到消息的时候能调用当前的View里面的方法来更新UI.然后在更新UI的方法里面再去调用Handler抛出消息,Handler然后接受到这个消息,再次更新UI,达到循环刷界面的目标。这里主要使用了两个handler:一个叫redfreshHandler,负责UI的定时刷新,主要是call invalidate()去刷新。 另一个是posHandler,负责定时更新头像的位置和显示。被打中以后就不显示了。要过一段时间才显示出来。其中还包括了对GIF动画图片的支持。
2.使用CameraPreview来照相,并与outline做整合。最终存储到SDCard。在存储的时候,使用了AsyncTask,实现异步操作,不会影响当前用户。
3. 使用Recorder的录音,存储到SDCARD。资源的释放。
遇到的问题:
1. Transparent图片的存储。只能用PNG格式,创建的Bitmap得支持alpha, 即使用Config.AGRB_8888作为参数创建Bitmap.
2. Camera preview的图片像素过大,超过了Bitmap的大小限制。使用压缩模式,Bitmap.CongigOption, inSample = 4.
Preview和outline的合成。大小要经过比例缩放,然后进行椭圆截取,使用
ShapeDrawable shape = new ShapeDrawable(new OvalShape());
shape.getPaint().setShader(makeTiling(bmp));
private Shader makeTiling(Bitmap bmp) {
return new BitmapShader(bmp, Shader.TileMode.REPEAT,
Shader.TileMode.REPEAT);
}
可以改进的地方:
1. 可以考虑增加多个outline供用户选择
2. 可以存储多份头像和声音。
3. UI上考虑改进,风格上可以更Cute.
最后附上安装文件。
(updated at 2010/05/17, 增加了拍照按钮,修复在打电话以后返回图像不更新问题。)
分享到:
相关推荐
Hammer Android component-based development framework What is a Chuizi 「锤子」是一个Android组件化快速开发框架 特征 组件化开发通用框架, 高度解耦,方便配置 提供Base 基类(BaseActivity, BaseFragment, Base...
移动端手势开发,滑动及触屏等效果使用,源代码
It is a matlab code for transfer function of impact hammer test.
html移动开发手势缩放(纯干货)(基于hammer velocity) div实现手势缩放 移动 实现点击按钮放大缩小 在Android、ios端均可使用 上次为demo 下载后即可使用
Thors Hammer
支持bootstrap滑动轮播。 hammer,jquery.hammer.js,hammer/hammer.min.js
Hammer Crush 锤子粉碎超Unity休闲格斗街机游戏项目源码C# 支持Unity版本2020.3.16f1及以上 Hammer Crush 锤子粉碎是超休闲游戏领域的一股强大力量,以其充满活力的图形和令人上瘾的游戏玩法吸引着玩家。 是关于旋转...
一处用于Android应用程序开发的工具集合:hammer:D AppDevToolbox一处用于Android应用程序开发的工具集合。 :hammer:注意:这仍在进行中brings app此应用程序将以下出色的Android开发应用程序整合到了一起。 (感谢...
hammer for learning, document
Hammer.js分析
使用该插件在移动端实现长按、单击、双击效果,不用自己再封装实现该效果。
Hammer1024E软件配置手册。基本的配置说明故障排查,vlan 的划分 端口映射
unity3d 游戏人物模型 Hammer Warrior 巨锤勇士战士带动作
采用现代Android开发实践构建 已利用的用例,数据的存储库模式 包括针对用例,存储库,ViewModels,API服务响应的单元测试。 :mobile_phone: 在Android上下载演示 您的Android手机上下载并享受演示应用程序:) 建于 ...
该论文是本人学习HAMMER算法是的总结的,可能翻译的不是很好,但可以借鉴~如有不好,还请指正
hammer
该demo 是使用 hammer.js 插件来实现 对图片的拖拽 缩放,以及控制图片拖到屏幕外的一个例子
Hammer10000-软件配置手册-V02R00B10D03.pdf
ANVIL:rowhammer漏洞检测保护机制
rowhammer-test 是用来测试 DRAM "rowhammer" 问题的程序。 标签:rowhammer