首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

Android游戏开发常碰到的几个小问题

2012-09-10 
Android游戏开发常碰到的几个问题做Android游戏开发的时候遇到的一些问题,跟大家分享一下,少走弯路。?1.多

Android游戏开发常碰到的几个问题

做Android游戏开发的时候遇到的一些问题,跟大家分享一下,少走弯路。

?

1.多个Activity切换会导致onCreate重复执行,所以若在onCreate里进行一些初始化操作就会引起意想不到的问题,建议加入静态标记来判断是否第一次启动。

?

2.如果在onCreate()中建立SurfaceView对象并setContentView(),那么不要在SurfaceView的构造函数里加载文件,这时候还没有context实例。建议把Activity做成单例,在SurfaceView的surfaceCreated方法里启动游戏线程并进行游戏初始化操作。

?

3.播放声音时,只有用setDataSource(path)才可以调用MediaPlayer.prepare(),通过资源文件或者url方式使用prepare()就报错。

?

4.进行HTTP网络通信时,HttpURLConection的getResponseCode()会导致网络IO异常或者阻塞,这个BUG在J2ME也出现,建议跳过获取HTTP响应码这步。

?

5.有时view的按键响应会出现只响应方向键的问题,用setFocusableInTouchMode(true)代替setFocusable(true)就可以解决,不过建议这两句话都加上。

?

6.如何设置全屏模式:

??????? //设置为无标题栏??
??????? requestWindowFeature(Window.FEATURE_NO_TITLE);
???????
??????? //设置为全屏模式??
??????? getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
??????????????? WindowManager.LayoutParams.FLAG_FULLSCREEN);
???????

7.如何强制横竖屏:
??????? //强制横屏模式
??????? setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
??????? //强制竖屏
??????? setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);


8.如果你开发的程序是320x480的分辨率,却用在480x800的手机上,这时1.6以上的SDK会自动拉伸程序画面至当前屏幕比例,要关闭自动拉伸在AndroidManifest.xml加入:
<uses-sdk android:minSdkVersion="4" />

?

9.剪切区设置
??????? c.save();
??????? c.clipRect(viewX, viewY, viewX + viewWidth, viewY + viewHeight);
?????? ?//draw..........
??????? c.restore();

还有一些问题以后我会陆续补充,感兴趣的朋友请关注我的博客:http://leestorm.iteye.com

转载请标明作者和出处,谢谢。

?

热点排行