当前位置:  编程技术>移动开发
本页文章导读:
    ▪改动屏幕的旋转方向        更改屏幕的旋转方向 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {    // Overriden to allow any orientation.    return (interfaceOrientation==UIInterfaceOrientationLandscapeLeft)||(interface.........
    ▪ list中平添数据        list中添加数据 tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("栏目内容")    .setContent(new TabContentFactory() {         List<Content> items;         {            items = new ArrayList<Conten.........
    ▪ BOX2D的抉择建议       BOX2D的选择建议      BOX2D越来越火了,基本上已经稳固了自己在游戏开发者心目中的地位。其实很早之前就在关注BOX2D了,原本在flash游戏中应用非常普遍,近两年移动平台的兴起才再IOS和An.........

[1]改动屏幕的旋转方向
    来源: 互联网  发布时间: 2014-02-18
更改屏幕的旋转方向

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Overriden to allow any orientation.
    return (interfaceOrientation==UIInterfaceOrientationLandscapeLeft)||(interfaceOrientation==UIInterfaceOrientationLandscapeRight);
}


    
[2] list中平添数据
    来源: 互联网  发布时间: 2014-02-18
list中添加数据
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("栏目内容")
    .setContent(new TabContentFactory() {

        List<Content> items;

        {
            items = new ArrayList<Content>();
            Content content = new Content();
            content.setTitle("阿童木");
            content
                    .setComment("因意外痛失爱子的天才科学家天马博士悲痛欲绝,萌生了复制爱子的想法并成功创造了机器人阿童木,他和人类一样拥有喜怒哀乐,而且还有博士儿子残余的情感与记忆。但阿童木却无法令抑郁的博士重展欢颜,博士狠心决定将他遗弃…");
            content.setImageUrl("" + R.drawable.c1);
            items.add(content);

            content = new Content();
            content.setTitle("三枪拍案惊奇");
            content
                    .setComment("故事发生于古代某大漠之中,一家面馆老板名为王五麻子,为人阴险吝啬,如此人品,老婆自然不待见。恰好伙计李四长得很帅又有幽默感,两人一拍即合,有了私情。王五发现两人私情后…");
            content.setImageUrl("" + R.drawable.c2);
            items.add(content);

            content = new Content();
            content.setTitle("花木兰");
            content
                    .setComment("在古老的中国,有一位个性爽朗,性情善良的好女孩,名字叫作「花木兰」,身为花家的大女儿,花木兰在父母开明的教悔下,一直很期待自己能花家带来荣耀。不过就在北方匈奴来犯…");
            content.setImageUrl("" + R.drawable.c3);
            items.add(content);

            content = new Content();
            content.setTitle("达芬奇密码");
            content
                    .setComment("本片讲述了哈佛大学的符号学专家罗伯特·兰登在法国巴黎出差期间的一个午夜接到一个紧急电话,得知卢浮宫博物馆年迈的馆长被人杀害在卢浮宫的博物馆里,人们在他的尸体旁边发现了一个难以捉摸的密码…");
            content.setImageUrl("" + R.drawable.c4);
            items.add(content);
        }

        @Override
        public View createTabContent(String tag) {
            ListView listView = new ListView(CustomerPlayer.this);
            listView.setAdapter(new ContentAdapter(
                    CustomerPlayer.this, 0, items));

            return listView;
        }
    }));

    
[3] BOX2D的抉择建议
    来源: 互联网  发布时间: 2014-02-18
BOX2D的选择建议

     BOX2D越来越火了,基本上已经稳固了自己在游戏开发者心目中的地位。其实很早之前就在关注BOX2D了,原本在flash游戏中应用非常普遍,近两年移动平台的兴起才再IOS和Android中崭露头角。我个人觉得,愤怒的小鸟成功只是一个偶然,不信就去逛逛flash游戏网站,你会发现很多精致、有创意又耐玩的游戏。(不过Rovio对游戏事业的专注和热情是值得大家学习的)

 

     目前我知道的Android平台使用BOX2D有三种方式,官方的JBOX2D,libgdx封装的JNI版BOX2D,还有微云SDK里的JNI版BOX2D。

 

     1)JBOX2D。纯正、稳定、跨平台、官方支持,唯一的缺点是速度慢,这跟JAVA的虚拟机有关,大量的临时对象和数据运算不能像C/C++那样被及时free掉是主要原因。比起JNI版的确实速度略逊一筹,但也没有网上传言的那么夸张,现在的Android手机CPU动不动就1GHZ,内存动不动就几百M,跑JBOX2D还是绰绰有余的(勿信PC上的模拟器)。如果你的游戏跑起来卡,主要问题就在程序上,是不是时间步设置得太小了?是不是迭代设置得太多了?手机上的休闲游戏,每秒12~20帧足够了。还有就是图象是不是即时旋转的,不要相信Matrix效率有多高,不要动态地旋转图片,推荐预先生成0~90°的图片,精度不用那么高,每5°或10°生成一张,然后翻转+镜像贴出0~360°的图片,这样的速度比即时翻转快出n倍。

 

     2)libgdx。Angle、LGame等很多开源引擎都选择了它封装的box2d,可见对它的可用性是充分肯定的。libgdx的作者估计内流满面,大家貌似只看上他的box2d部分了,其实libgdx整体都很优秀。libgdx box2d的JNI代码写得非常清晰,运行速度非常快,使用方法也很接近原生的JBOX2D,我就是看c++版的文档来开发JAVA的,差别不大,毫无鸭梨。不过据不少人反映,libgdx封装的box2d存在bug,我也遇到莫名其妙报错退出的问题,至今没找到原因,调试起来比较困难。

 

     3)微云SDK(http://www.wiyun.com/web/wiengine,我依然不是枪手)。这个2D游戏框架目前很高调,对它了解不多,略微看了一下,BOX2D、LUA、粒子系统、XML都做了封装,甚至场景元素,地图图素都做了细致地封装,人性化程度可见一斑!不过它似乎忽略了一点,独立游戏人之所以做独立游戏人,因为他们什么都喜欢自己动手,封装得越细致就说明约束越大,自由发挥余地就越小。或许你把饭盛好,用勺子送到独立游戏人的嘴边,换回的却是一个“呸!”,呵呵开个玩笑,我也是独立游戏人。有点偏题了,回头说BOX2D,微云同样是JNI封装的C代码,粗略看了下文档以及JNI代码,不像是直接用的libgdx的,它再一次封装到了嘴边,框架结构让我匪夷所思,习惯了BOX2D的朋友可能要花点时间熟悉一下。

 

      介绍就到这里,附件里附上Jbox2D、libgdx的box2d以及一篇c++的BOX2D教程,下篇文章或将介绍Android中使用box2d的例子。

 

1 楼 LongTry 2011-09-29  
good 谢谢博主..
2 楼 redzealot2007 2011-10-24  
很好的资料,值得收藏,希望楼主继续出品高质量博文
3 楼 Quietcat 2012-01-17  
非常感谢
4 楼 qianxiaoweiqq 2012-05-19  
谢谢博主..

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
c/c++开源软件 iis7站长之家
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3