WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院手机开发Android 开发 Android HammerIt游戏开发 经验总结 阅读

Android HammerIt游戏开发 经验总结

 2010-05-29 05:56:00 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鐏氱€氼剟姊洪崹顕呭剰闁逞屽墮缁夊綊寮婚妸褉鍋撻棃娑欏暈闁伙綀浜埀顒傛暬閸嬪﹪宕伴弽褏鏆﹂柨鐕傛嫹
核心提示:这是一款敏捷类休闲小游戏,以点击屏幕打到随机跳出的头像为目标,Android HammerIt游戏开发 经验总结,主要有这么几个功能:1. 设置人物头像打开一个照相机,上面有猪头轮廓的mask, 把目标头像对准放到这个轮廓里面,使用ShapeDrawable shape = new ShapeDrawable(new

这是一款敏捷类休闲小游戏,以点击屏幕打到随机跳出的头像为目标。主要有这么几个功能:

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.

最后附上安装文件。

Tags:Android HammerIt 游戏

编辑录入:coldstar [复制链接] [打 印]
赞助商链接