如何从android开发转行android 游戏开发引擎

Android游戏开发屏幕旋转问题完美解决 - 简书
Android游戏开发屏幕旋转问题完美解决
做游戏Android上的游戏开发也有一年多了,虽然没有什么高深的见解,但就遇到的问题及解决方案做下记录
我们的游戏,横屏的棋牌游戏,一直是锁定横屏的一个方向运行,有一天,项目经理找到我,想让游戏像一些IPhone游戏一样,在旋转屏幕的时候按照重力进行旋转,在锁定方向的时候又能固定一个方向,也就是能按照用户选择在横屏方向进行锁定和旋转
当然,我信心满满的答应了,感觉对于一个以Android起家的我来说这并不算什么,五分钟搞定
结果一个小时过去了,并没有找到完美的解决方案,在Android的manifest.xml做配置是不可行的
经过我一番百度和看Android文档,我才发现,Android对旋转屏,特别是只有横屏或者竖屏虽重力旋转的支持是到Android4.3.1才有完美支持的
unspecified - 默认值,由系统选择显示方向
reverseLandscape
- 反横向(API &= 9)
reversePortrait
- 反纵向(API &= 9)
- 用户当前的首选方向
- 与Activity堆栈下的方向相同
- 根据物理传感器方向3/4个方向(取决于设备)
fullSensor
- 根据物理传感器方向4个方向
- 不按照物理传感器方向,除此之外与"unspecified"无区别
sensorLandscape
- 按照物理传感器,只在横向(2个方向)进行翻转(API &= 9)
sensorPortrait
- 按照物理传感器,只在纵向(2个方向)进行翻转(API &= 9)
userLandscape
- 按照用户选择,锁定一个横向,或者按照物理传感器进行横向的翻转(API &= 18)
userPortrait
- 按照用户选择,锁定一个纵向,或者按照物理传感器进行纵向的翻转(API &= 18)
- 如果用户锁定了屏幕,它与"user"作用一致,如果是解锁了旋转,它与"fullSensor"作用一致(API &= 18)
- 锁定了屏幕当前方向(API &= 18)
但由于游戏是要适配各个系统版本的,只在AndroidManifest.xml里配置显然只能满足部分系统需求,于是我写了下面的代码
public class TestOrientationActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
resetScreenOrientation();
Uri rotationUri = Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION);
ContentResolver resolver = getApplication().getContentResolver();
// 此处注册监听旋转设置变化
resolver.registerContentObserver(rotationUri, true, mContentConfigObserver);
* 用于监听旋转变化
private ContentObserver mContentConfigObserver = new ContentObserver(new Handler()) {
public void onChange(boolean selfChange) {
resetScreenOrientation();
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
resetScreenOrientation();
private void resetScreenOrientation() {
// TODO Auto-generated method stub
int orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
int sdkInt = android.os.Build.VERSION.SDK_INT;
if (sdkInt &= Build.VERSION_CODES.JELLY_BEAN_MR2 /*18*/) {
//大于JELLY_BEAN_MR2(4.3.1)版本的直接支持按照用户选择进行屏幕旋转
//Field requires API level 18 (current min is 8):
orientation = ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE;
} else if (sdkInt &= Build.VERSION_CODES.GINGERBREAD) {
int flag = Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION, 0);
if (0 == flag) {
// 屏幕旋转已经关闭,那么固定屏幕在某一个方向
orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
// 屏幕旋转打开,屏幕按照sensor的参数进行旋转
// 此参数只在GINGERBREAD(2.3.3)以上的系统支持
//Field requires API level 18 (current min is 8):
orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
// 小于GINGERBREAD(2.3.3)版本的系统不支持屏幕旋转
orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
int curOrientation = getRequestedOrientation();
if (orientation != curOrientation) {
setRequestedOrientation(orientation);
除了在2.3.3-4.3.1的部分手机监听设置改变时候会出现延迟以外,别的都是完美解决
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
【转】Android 开源项目分类汇总 旭川君已关注
16:49*字数 29527阅读 1795评论 1喜欢 35 来源:https://github.com/Trinea/android-open-project 更多:Android 开源库获取途径...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
需求 在项目运行前,需要拷贝一些必要的资源到特定的文件夹 解决 主要使用 system 来调用系统的命令 花了一个晚上的时间来寻找这个配置,真 TMD 是醉了! -EOF-
今天我去看了心理老师。其实我最大的收获就是她告诉我。其实每个人的心里暗示很重要的。如果一个人不停地对自己说。我不行,我很差。我做什么事情都做不好。那个人他做的事情一定。会比那些每一天都会自己说我很好我很棒。做什么事情都一定会特别好的人。更差。 因为其实在我们的日常生活中心理...Android开发一年,想转java后台,我需要做什么
<a data-traceid="question_detail_above_text_l&&
& & RT,本屌Android开发一年,水平一般吧,基本的项目做得好不错,Java功底比较扎实,C基本不会。最近萌生了转java后台的想法。说下原因:
& & 1.Andriod碎片化,各种适配,控件,不难,但是做的一头包
& & 2.Android行情已经不像前几年那么火爆了,开始趋于稳定,薪水上限不高
& & 3.职业发展路径不明确,有人说java后台像九阳神功,顺着前人的路线练习可大成,而Android没有明确的发展路径,让人很迷茫。
& & 4.技术含量。我觉得Android开发技术含量不是特别高,都是用的各种第三方,JNI和深入的内存优化有难度
& & 想最近开始入手java后台方面的知识,不知有何建议?可否告知一下java后台的一些前景和坑
小坑跳完跳大坑,支持你
引用来自“水花一现”的评论小坑跳完跳大坑,支持你哈哈哈 &不要调戏
欢迎来填后端的坑
java后台坑更大,就业的话很多人是进普通的小公司,一般开发一些公司用的系统,erp之类的,业务逻辑要大于技术含量,估计比android技术含量更低,而且你做android得到的经验可能是安卓的,做java后台得到的经验可能大部分就是业务的了。。。互联网公司技术含量应该要高一些,但是我没去过。。。还有最好不要说自己java功底比较扎实,这个怎么说呢,很容易翻车的。
--- 共有 1 条评论 ---
同意你的观点。。多数公司只是实现业务需求,并没有太高技术含量。。大公司的一些部门亦是如此。。
技术含量。我觉得Android开发技术含量不是特别高,都是用的各种第三方,JNI和深入的内存优化有难度。
凭此一条,建议阁下还是学精学专,别前台坑完,坑后台。
好好干好一样,要是学了java,保证比你现在更迷茫。。那时候你可能就颓废了。吃了睡睡了吃,周而复始,最重要的是android有时间陪女朋友,服务器没有。
想学就学呗,有基础学啥不是学,没有什么建议,就是死磕
引用来自“freezingsky”的评论
技术含量。我觉得Android开发技术含量不是特别高,都是用的各种第三方,JNI和深入的内存优化有难度。
凭此一条,建议阁下还是学精学专,别前台坑完,坑后台。
Android想要做好,也不是一件简单的事情...不过一直在前行
动态加载,压缩,热更新,逆向...
android难的是自定义控件和各种事件特效。jni的话一般公司要有会c的,或者是从c转android的可以搞。web的话其实很多也只是增删改查,各种框架。哪个都是简单的简单,难的难。看你自己的兴趣了,是喜欢界面还是后台web。 以后就算不搞java了,你也可以选择ios或者php,看大方向。大神们,想转行到游戏开发,给点提示和建议啊_游戏开发吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:40,261贴子:
大神们,想转行到游戏开发,给点提示和建议啊
1.本人研究生一枚,恨当初无脑学习了地质学专业,现在就业很不好,所有的师兄、师姐都转行了,我也考虑着转行,现在转行的三大方向:IT、教育、公务员;看来看去还是来搞IT学一门技术比较靠谱,同时本人也喜欢游戏,所以就选择了现在还比较热的游戏开发行业,希望各位大仙给点好的建议!!!2.纯属小白,什么编程、PS画画都不会;3.想要入这一行首先应该学习什么啊,其次就是知道了学习什么之后该怎么学习啊,比如说:应该看那些书、到网上找那些材料,学习这些东西大概要花费多长的时间啊;4.如果我真的已经坚持到最后,那我该怎么去找工作,一般来说找那些单位啊;求大神解答,谢谢
主要是给推荐一些入门应该看得书和好的教程,刚开始学,根基一定要正
游戏开发要学习的东西很多,看看你要用什么语言写,对什么语言感兴趣,一般来说比较简单的还是现在前端的javascript和后端的node.js搭配使用
学习javascript你最好要有html基础 有了这两门基础你还要学习cocos creator编辑器的使用,你没有基础,这学习的道路还很长,你先别想着找工作,先学好技术才会有公司愿意收
我在游戏开发干了三年,感触颇深
贴吧热议榜
使用签名档&&
保存至快速回贴一年多安卓经验想转java后台开发
<a data-traceid="question_detail_above_text_l&&
一年多安卓经验厌倦了想转java后台开发,现在j2ee方面知识基本不懂,好转么,有没有过来人有经验的?如果去找工作是不是得从0开始?跟应届生一样的待遇?
为啥要转啊?android工资更高啊?
不太好转,j2ee和android完全不同,并且j2ee要学的东西比较多,要比android的东西多很多。
--- 共有 3 条评论 ---
: 要是从总体上说,在全局的高度,要想做一个架构师,j2ee是基础,android是细节,android是j2ee向前延伸,最好两个都掌握,本人感觉只会android不懂j2ee有只太单。
是啊,j2ee一套下来东西挺多,android太好上手了,学习周期差很大
j2ee android 哪个更有发展前途咧?
有啥不好转的,android的文件结构和后台那么像。
--- 共有 3 条评论 ---
: 就是android原生结构和web差不多。都是用一个XML管理资源,然后映射
: 说的是MVC框架?
学android把 JVM 和linux玩转,j2ee把业务逻辑多看下。
引用来自“nightmare123”的评论为啥要转啊?android工资更高啊?工资是不错,也好找工作,但是个人觉得客户端比较关心产品体验,不喜欢GUI的东西,不喜欢android碎片化,不喜欢生态混乱
&最近面试很多人,安卓的工资普遍比javaEE的要高,可能和行情有关吧。
我现在做的是javaEE,我还想学安卓呢
--- 共有 1 条评论 ---
可能还高很多呢!哎,觉得ee可怜!
ios开发和android开发哪个容易些?
android 转j2ee,感觉很好转,但是web前端将会是一个很大的挑战。j2ee不管要写服务器程序,更要写客户端程序,更加琐碎,楼主你想好了吗?
--- 共有 1 条评论 ---
砥柱兄说得有道理,WEB端避免不了GUI
这种问题问的。。。你直接去学,去找工作不就知道了吗?年轻人不怕失败。。。
本人在日企做了两年对日的服务外包项目,做项目运用的开发语言大都是VB.NET,现在出来准备找JAVA开发的工作,是不是更难,更难找工作。
lz围城了。。已解决问题
到处都在吹安卓开发如何高薪,听得就烦了,还有人建议转安卓开发,难道安卓开发能一直火下去?
浏览次数:266
用手机阿里扫一扫
最满意答案
现在手机平台软件开发自然是选安卓,WM6.5已经淘汰了,IOS受苹果公司制约性大,WP7微软对开发者要求很高,安卓开源性强,制作简单,不做安卓软件难道去做塞班&?
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok}

我要回帖

更多关于 android游戏开发入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信