说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Android开发中FPS游戏实现的两种方式比较

HTML文档下载 WORD文档下载 PDF文档下载
FPS (First Personal Shooting)第一人称视角射击游戏顾名思义就是以玩家的主观视角来进行射击游戏。本文详细介绍了此类游戏实现的方式。

如何用Android平台开发FPS游戏,其实现过程有哪些方法,这些方法又有哪些不同的地方呢?首先让我们先了解下什么是FPS

英文名:FPS (First Personal Shooting)

  第一人称视角射击游戏顾名思义就是以玩家的主观视角来进行射击游戏。玩家们不再像别的游戏一样操纵屏幕中的虚拟人物来进行游戏,而是身临其境的体验游戏带来的视觉冲击,这就大大增强了游戏的主动性和真实感。早期第一人称类游戏所带给玩家的一般都是的屏幕光线的刺激,简单快捷的游戏节奏。随着游戏硬件的逐步完善,以及各种类游戏的不断结合。第一人称射击类游戏提供了更加丰富的剧情以及精美的画面和生动的音效。例如我们玩的CS、Quake系列、UT系列、荣誉勋章、使命召唤、DOOM、彩虹6号、杀手47系列、穿越火线、反恐精英Online等等游戏。

方式1.

  private boolean drawall=false;
 private RefreshHandler mRedrawHandler = new RefreshHandler();
    class RefreshHandler extends Handler {

        @Override
        public void handleMessage(Message msg) {
         KetrisCanvas.this.update();
         KetrisCanvas.this.invalidate();
        }

        public void sleep(long delayMillis) {
         this.removeMessages(0);
            sendMessageDelayed(obtainMessage(0), delayMillis);
        }
    };
    long mLastMove=0;
    long mMoveDelay=30;
    public void update() {
            long now = System.currentTimeMillis();

            if (now - mLastMove > mMoveDelay) {
                //gameLogic(); 这里是游戏逻辑
             
                mLastMove = now;
            }
            mRedrawHandler.sleep(mMoveDelay);
        
    }
public void onDraw(Canvas canvas)
{super.onDraw(canvas);
 this.paint(); //这里是绘制到缓冲屏幕
 canvas.drawBitmap(g.offs, 0, 0, g.p);
}

在适当位置执行update();

方式2.

public class KetrisCanvas extends SurfaceView implements SurfaceHolder.Callback

{  

在构造方法完成   下面2句
     holder = this.getHolder();//获取holder
     holder.addCallback(this);


@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
  int height) {
 // TODO Auto-generated method stub
 
}

Thread t;
boolean isrun=true;
final SurfaceHolder holder;
@Override
public void surfaceCreated(SurfaceHolder holder) {
 // TODO Auto-generated method stub
 
  t=new Thread(){
  public void run()
  { while(isrun)
  {
   long start=System.currentTimeMillis();
      Canvas canvas=KetrisCanvas.this.holder.lockCanvas(null);
    //这里完成游戏逻辑  

    paint();//这里是屏幕绘制
      canvas.drawBitmap(g.offs, 0, 0,null );
      
      KetrisCanvas.this.holder.unlockCanvasAndPost(canvas);
      long end=System.currentTimeMillis();
      if(200>end-start)
      {
       try{Thread.sleep(200-(end-start));}catch(Exception e){}
      }
  }
  }
 };
 t.start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
 // TODO Auto-generated method stub
 if(t!=null)
 { isrun=false;
 }
}

转载自:http://blog.csdn.net/sdhjob/archive/2009/12/22/5054455.aspx

TXT文件的读取-VB资料 VB 如何将dbgrid印出来 VB5.0调用Office97技巧 VB5如何把帮助文件加到设计的程序内? VB编程步步高-打印篇(二) VB编程的好帮手资源文件 VB的OPEN对话框控件图示功能扩充 VB通用数据表格输出程序的设计 VB网格中输入数据 VB应用程序中打印条形码的两种方法 VB与Windows资源管理器互拷文件 VB中DOS文件名与长文件名的转换 VB中的Unicode 和 Ansi 格式 VB中如何实现文本查找功能 VB中自制文件搜索器 Windows 初始化文件的修改 -VB资料 Word 97与WPS97的完美结合 -VB资料 比较两个文件-VB资料 采用递归算法删除带有多级子目录的目录-VB资料 菜单项的动态装入 -VB资料 处理加了密码的MDB文件-VB资料 VB创建临时文件 从公共对话框控件中提取多个文件名称 -VB资料 从全路径名中提取文件名 -VB资料 打印MsChart之类的控件 -VB资料 谈谈在VB6.0中如何使用资源文件进行编程 动画图像分解在VB动画设计中的应用 多重文档界面设计方法-VB资料 恢复回收站中的文件 -VB资料 VB获得位图文件的信息 VB获得文本框中光标所在行的内容 关于 电视卡 压缩MPEG文件的问题 CComboBox为何不能下拉,属性已设为Drop List 菜鸟问题,怎样用photoshop画出的矩形有3D边框?没分了,请帮忙 急!磁盘检测出错?在线 有关限制插入操作的问题(SQL Server 2000),救急! 蓝星梦工厂的电视卡 怎样把"34444"->34444? 构造函数初级问题 求串口联网方法! 爱情和事业是不是真的水火不容不可兼得??? 窗体里的数据能不能排序呢 救急,为什么我设置的fnOpenModal参数无效? 如何修改listview中的值? 经常去联众下围棋的兄弟进来,问个问题 用jbuilder怎样把htc文件打包到web application中去? 求助高手指点:用vb实现把结果输出到已定制的word表格中 用200百分问个很菜的问题 关于超星的问题 探讨:如何把软件开发工作为我们一生的事业 ocx问题?参数传递 用200百分问个很菜的问题 请问谁能告诉我一个制作从模糊到清晰运动的源代码或地址? 改变对话框中菜单区的背景色,急 弱智问题:我修改一个打印报表的数据窗口格式,修改后的新问题是它每次打印时接着纸的最上面, IE不能打开新窗口。是什么道理? java下如何得到当前程序(application)的路径?很急!! 组件调用问题? 初学者问题, 简单!! 为什么struts的中文资料如此之少??哪位知道有哪些中文书籍?电子书最好!! 我想做一个报表之类的东西,能在网页上显示,大家给点提示,有现成的例子最好,先谢了 请教各位大大 一个关于消息映射的郁闷 如何在Remote Data Module中使用ADOCommand? 真失败...关于优化pl/sql的问题 为什么名字空间下没有ADO 如何获得一个文件的完整URL地址? 谁能详细的讲讲我不明白的例子。我开ID送1000分。我把ID给费了。一定要搞懂 Applet从html中读取参数信息????? 在win98里可上网,但为什么不能查看网络邻居的属性?(在线等!!!) 关于超星的问题 有谁知道win2003+sql2000的问题? 怎么删除表中列的DEFAULT啊??? 高手请进,将程序加为服务 关于邮件服务器 组件编写中的问题--如何显示图标 记得以前学计算机的热情很大,并且非常希望有一台计算机,可是现在机器有了,却没有了以前的热情,经典书买了一堆却都没有看,我在想到底要不 关于超星的问题 大家装了windows server 2003么?怎么样啊?讨论一下好么!! 救救我吖!!怎样在oracle8.0.5中直接添加数据!!高分!急!! 大问题!!!装2003后网卡驱程不行,声卡装了听不到声音??? java能不能实现多文档(象VC++中)? 当初喜欢她,想追她,给她打了几次电话,她又不接,然后我就放弃了.现在她又会来看我.但是回去之后她也没再说什么了,也没给我打电话,我也再没给她打过电话了, 现在全世界最残暴的人是谁 英文 我们不可以在公园做什么?我们不可以喂鸟. 谁能帮我解释:女人心海底针.谁能帮我解释:女人心海底针.谁能帮我解释:女人心海底针. 拟人的修辞手法 鸟毛是啥意思?百科上的解释还是无法让我明白鸟毛的真正含义 女人心海底针, 为什么傲游浏览器打开土豆是这样说明403 ForbiddenYou don't have permission to access the URL on this server.Sorry for the inconvenience.Please report this message and include the following information to us.Thank you very much!Server:a 鸟事是什么意思 修辞的用法? 帮我查矛盾原理方法论 加鸟子是啥意思 修辞的各种用法?带上例子 玩命猜图116关是什么呀 丹麦的格陵兰岛比英国的大不列颠岛大约大195.5平方千米,是大不列颠岛的9.5倍.问大不列颠岛和格陵兰岛的面面积分别是多少万平方千米?(用方程解应用题) 哪位能翻译下:热烈欢迎来自世界各地的滑雪运动员来长春参赛 谢谢啦 语文修辞的总体用法~常用的就行~本人在此谢过了~ 玩命猜图116关是什么?求助! 地球上最小的动物是什么?不知 了解修辞的用法和意义 关于我国社会主义市场经济的特点,有人编了这样一个顺口溜:“无形手,有形手,手拉手,向前走” 材料 两 无法解释怎可报尽亲恩 排比修辞的用法 举重125KG 两只手夹角120°每只手所受的力 宜将剩勇追穷寇,不可沽名学霸王,具体要每个字解释清楚! 请问组织化分为很多种吗?那农民组织化有哪些模式呢? 116是什么意思 往者不可留,逝者不可追的意思? 组织化推动的定义 business finance的 (IRR)Internal Rate of return VPN我会求 往者不可追,来者犹可惜. 凡曝沙之鸟的“之”什么意思? 什么是DIFFERENTIAL_INTERNAL_RATE_OF_RETURN?如题 英语翻译最好是双语的对比版 满井游记凡曝沙之鸟的凡的意思 什么是Modified_internal_rate_of_return? 谁知道张学友唱的女人心我喜欢着首歌,但我不会英文,谁能用中文字标出读音, 商鞅变法与“管仲相桓公”相比较,它所产生的不同于“相桓公”的作用是什么?管仲相桓公,霸诸侯,一匡天下. 函数f(x)在[0,+∞)上是单调递减函数,则f(1-x^2)的单调递增区间是 翻译张学友的 女人心 !最好把中英都带上! 凡鸟偏从末世来,都知爱慕此生才.写的是谁? 在网络上菜鸟是什麽意思 英语翻译如题,请英语好的朋友帮帮忙!把张学友的《女人心》翻译成汉语版的如:HELLO 翻译成 :哈楼还如:Conrazon De Melao,Melao Melao Melao 苦恼手的没老,没老没老没老.就是要学着唱的 ,就是苦于 商鞅变法与 管仲相桓公 相比较,它所产生的不同与 相桓公 的作用是什么 鸟字的意思是什么我朋友老是说我鸟字,是什么啊 张学友的中文翻译最好是一句中文一句英语的翻译,谢谢了~ 商鞅变法与“管仲相恒公”相比较,他所产生的不同于“相恒公”的作用是什么? 请各位医生跟我看看男,25岁!我三叔以前是跑车的!我小时候经常坐他的货车去各地!车山有汽油味!不知道怎么的我就很喜欢闻汽油味!它们都说汽油味难闻,但是我闻着是香的!还有就是几年前我 用“通”字组词,意思是普通 《动物世界》和《走近科学》现在还有播出么,如果有的话,请问是什么具体时间呢, 东欧剧变的原因请填空:照搬______模式,长期受制于苏联内部原因:经济发展滞缓,导致__________;外部原因:苏联的_________改革思想的影响;西方国家的“______________”等政策的推行直接原因 通表示没有障碍,穿得过去的意思能组什么词语 电路,喇叭电动玩具喇叭声音小给孩子买了个遥控的小车,带个小喇叭,里边有几首歌,刚买来充好电,音乐声音特别大,正常关机,再次打开的时候声音就变小了,好像是有人把音量调小了一样.音质 如何快速便捷的取出轴承滚珠滚珠很大,一只手只能抓两个. “女人心, 模拟汽笛声的电路,最好555,或分立的 轴承里的滚珠是干什么用的 女人心海底针是什么意思? 为什么说人是世界上最善良,又是最残忍的高级动物? 英语翻译现在立刻马上过了不要你的 中央气象台发霾黄色预警 京津等局地或阿根廷学者认为克里斯蒂娜连任机会渺茫伊拉克北部摩苏尔发生自杀式汽车炸弹袭印度东北部城市发生连环爆炸5人死亡“双年展专业户”卢昊:城市化进程使多浙台经贸合作平台发展规划首次发布浙商大会马云成热词 专家论创新力挺淘第二届世界浙商大会 杰出浙商获得者热国际财经一周大事预报美被曝曾就监听亚太寻日本协助尼日利亚多地暴发霍乱疫情 已造成百余杭州绕道上海直飞高雄迎“低票价时代”男子辞公务员被认“异类”:压力大不如伊拉克首都系列爆炸致29死88伤美国记者出书曝卡斯特罗曾否认涉肯尼迪伊拉克首都发生多起汽车炸弹爆炸 至少近年典型捂堵拖事件盘点:山西2起事故第九届两岸经贸文化论坛提出19条共同河南连霍高速大桥炸塌事件至今未公布处纽约华裔社区发生命案5人被杀 死者包伊拉克首都发生多起汽车炸弹爆炸 至少海口安排5000万海口3000多台农机蔗农灾后自救七夕情人节 大猜想中国海军护航亚丁湾灾后抢种蔬菜已出苗乌军遭民间武装坚强政治保障和干部保障小车收费标准民俗学者话七夕:情品显人品官方通报昆山中荣金属制品厂爆炸事故已2014上半年页游收入91.6亿元 青藏游“人气”爆棚海南:琼北受“威马逊”影响地区乡村旅浙江海事局启动Ⅲ级防台警报湖南部分高龄妇女“扎堆”做试管婴儿再在美国亲历租房和买房:经纪人不懂中国艾格拉斯王晓波出席CGDC 分享差异台湾高雄气爆事故:救难人员再找到一具2日交易汇总:帕克正式续约马刺 热火昆山爆炸伤员救治牵动人心 新民网记者
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘