这是一款敏捷类休闲小游戏,以点击屏幕打到随机跳出的头像为目标。主要有这么几个功能:
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, 增加了拍照按钮,修复在打电话以后返回图像不更新问题。)
分享到:
相关推荐
通过深入分析和理解这个“打老鼠”游戏的源码,开发者不仅可以学习到Android的基本编程技巧,还能掌握游戏开发中的关键概念,如动画、事件处理、游戏循环和资源管理,这对于进一步开发更复杂的Android游戏将大有裨益...
总结,Android 安卓游戏打地鼠源码是一个学习Android游戏开发的宝贵实例。通过对源码的剖析,开发者可以了解Android游戏的基本架构、图形渲染、事件处理和性能优化等关键点,为自己的游戏开发之旅积累经验。在实际...
Hammer Android component-based development framework What is a Chuizi 「锤子」是一个Android组件化快速开发框架 特征 组件化开发通用框架, 高度解耦,方便配置 提供Base 基类(BaseActivity, BaseFragment, Base...
移动端手势开发,滑动及触屏等效果使用,源代码
总结来说,这个压缩包提供的Unity3D游戏人物模型Hammer Warrior包含了丰富的动作资源,可以直接应用于游戏项目中。开发者可以通过Unity的动画系统和控制器来操控这些动作,结合场景、逻辑和交互设计,构建出一款...
It is a matlab code for transfer function of impact hammer test.
总结来说,利用LayaAir+FairyGUI+TypeScript制作打地鼠游戏,可以充分发挥各自的优势,实现高效、稳定且具有高质量用户体验的游戏开发。开发者可以通过这种方式,结合自己的创意,打造出更多富有乐趣的游戏作品。
【JavaScript 抓娃娃小游戏H5完整版】是一款基于HTML5、CSS3和JavaScript技术开发的移动端小游戏,适用于Android和iOS设备。此项目采用jQuery库来简化DOM操作,提高代码的可读性和执行效率,旨在为用户带来逼真的...
【安卓模拟打地鼠游戏】是一款基于Android平台的趣味性应用程序,主要使用Java语言进行开发。在这款游戏中,玩家需要快速点击出现在屏幕上的地鼠,以此来获得分数,增加了玩家的反应速度和手眼协调能力。游戏的设计...
根据给定文件的信息,我们可以提炼出以下几个关键知识点: ...此外,“极道杀戮”的游戏源码以及 Full Game Kit Hammer 2 插件都为开发者提供了宝贵的参考和实用工具,有助于提升游戏开发效率和质量。
- **游戏开发**: Hammer.js的手势识别功能可以增强游戏的控制感,例如玩家可以通过滑动来操控角色移动。 - **UI组件**: 在构建可触摸的UI组件时,如滑动菜单、轮播图等,Hammer.js能提供更自然的操作方式。 5. **...
Python打地鼠小游戏源代码是基于Python编程语言开发的一款经典娱乐项目,旨在重现我们童年时在电玩城体验到的打地鼠游戏的乐趣。通过学习和理解这个游戏的源代码,我们可以深入了解Python编程语言在游戏开发中的应用...
本教程将详细介绍如何利用Hammer.js和Velocity.js这两个库来实现在HTML页面上的手势缩放功能,尤其适用于Android和iOS设备。 Hammer.js是一个轻量级的手势库,它提供了丰富的手势识别功能,如滑动、双击、捏合等,...
91极道杀戮最新支持webgFull Game Kit Hammer 2”是一个包含了许多高级特性的游戏项目,不仅使用了最新的Unity3D版本,还支持了WebGL技术,同时集成了Full Game Kit Hammer 2这一强大的游戏开发工具包。这对于想要...
cocos2d-x是一个开源的、跨平台的2D游戏开发框架,它支持C++语言,并且能够运行在iOS、Android、Windows等多个操作系统上。cocos2d-x 2.2.3是该框架的一个稳定版本,提供了丰富的功能和优化的性能,适合初学者和专业...
《Hammer 2 1.1.1:Unity游戏开发中的强大工具》 在游戏开发领域,Unity引擎因其强大的功能和易用性而备受青睐。其中,Hammer 2是针对Unity开发的一款重要辅助工具,尤其在游戏关卡设计和场景构建上展现出了卓越的...
Hammer Crush 锤子粉碎超Unity休闲格斗街机游戏项目源码C# 支持Unity版本2020.3.16f1及以上 Hammer Crush 锤子粉碎是超休闲游戏领域的一股强大力量,以其充满活力的图形和令人上瘾的游戏玩法吸引着玩家。 是关于旋转...
一处用于Android应用程序开发的工具集合:hammer:D AppDevToolbox一处用于Android应用程序开发的工具集合。 :hammer:注意:这仍在进行中brings app此应用程序将以下出色的Android开发应用程序整合到了一起。 (感谢...
【Java开发的打地鼠游戏】是一款经典的编程实践项目,非常适合Java初学者用来提升编程技能。这个游戏基于Java语言,利用了Java丰富的图形用户界面(GUI)库和事件处理机制,展示了面向对象编程的基本原理和实际应用...
Hammer 软件常用功能说明 Hammer 是一款超站使用的调试工具,与 DebugerShell 都是常用的调试工具,在功能上有很多类似的地方,但是也...Hammer 软件是一款功能强大且灵活的调试工具,对于开发和调试来说非常有用。