- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[绘画游戏引擎说明
MVC动画的原理引擎伪代码原理:一个僵尸画在屏幕上X轴50-Y轴100,宽40高60(最底层的调用);Canvas canvas = getHolder().lockCanvas(); Bitmap src = BitmapFactory.decodeResource(context.getResources(), R.draw.zomb_0);new Drawable draw=new BitmapDrawable(src); posX=50;posy=100;width=40;height=60;draw.setBounds(posX, posY, posX + width, posY + height);draw.draw(canvas);getHolder().unlockCanvasAndPost(canvas);于是将定义角色(精灵)封装绘画作为最底层调用Public class Actor(){ Int x; Int y; Int width; Int height;Drawable currentDrawable; public void draw(Canvas canvas) { if (currentDrawable != null) {try {currentDrawable.setBounds(posX, posY, posX + width, posY+ height);currentDrawable.draw(canvas);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} }}一片僵尸(静态的)画在屏幕上;//新建10个僵尸的X,Y轴为随机位置stage.draw()伪代码:Public class Main extends Activtity{static ListActor list = new ListActor();Canvas canvas = getHolder().lockCanvas();for(int i=0;i10;i++){ Actor actor=new ZombActor(); actor..setposX(new Random().nextInt(300)); actor..setposY(new Random().nextInt(300));actor.draw(canvas)}; list.add(actor);}getHolder().unlockCanvasAndPost(canvas);}进一步封装由stage管理Actor的list集合;Public void stage (){ ArrayList actorList=new ArrayListactor(); //将所有Actor画在某个画布上Void draw(Canvas canvas){ for(Actor actor:actorlist){ actor.draw(canvas);}}} 由view管理canvas绘画于是stage.draw()相当于遍历所有Actor集合调用所有Actor的draw()方法;view.draw();相当于将一次stage.draw()画在一次画布上;pubic class view{draw();伪代码:Canvas canvas = getHolder().lockCanvas();stage.draw(canvas);getHolder().unlockCanvasAndPost(canvas);}}一片僵尸(动态)在屏幕上向右移动;Stage stage=new Stage();SurfaceView view=(SurfaceView)findViewByid(R.id.view);view.setStage(stage);stage.setActorlist(new ArrayListActor());//添加10个僵尸到stage的actorListfor(int i=0;i10;i++){Actor actor=new Actor();actor.currentdraw=Bitmap.uitl(”僵尸”);actor.x=new Random().nextInt(300);actor.y=new Random().nextInt(300);actor.width=40;actor.height=60;stage.getArraylist().add(new Actor)}启动一个线程来绘画new Thread(public void run(){ While(true ){ //遍历所有stage中list的Actor集
您可能关注的文档
- [红烧兔子肉-美食杰.docx
- [红豆杉的养护.doc
- [约稿关于东盟关税协议生效对樟木头镇企业影响的调查报告.doc
- 元素符号化学式--44pk正式讲课.ppt
- [级上学期家长会发言稿期初.doc
- [纪委工作报告全文.doc
- [纪委全会报告.doc
- [纤体项目讲稿.doc
- [纪录片德行天下解说词.docx
- [战略性绩效管理方振邦.ppt
- 大学课程《水利水电工程建筑物》PPT课件:9.1第九章第一节 水利水电枢纽设计的任务及阶段.pptx
- 大学课程《水利水电工程建筑物》PPT课件:9.2第九章第二节 拦河坝水利枢纽的布置.pptx
- 大学课程《水利水电工程建筑物》PPT课件:9.3第九章第三节 取水枢纽布置.pptx
- 大学课程《水利水电工程建筑物》PPT课件:9.4第九章第四节 厂区布置.pptx
- 大学课程《找水技术与成井工艺》PPT课件:第一章 地下水概论.pptx
- 大学课程《水利水电工程建筑物》PPT课件:2.7第二章第七节 堤防与河道整治建筑物.pptx
- 大学课程《找水技术与成井工艺》PPT课件:第六章 激发极化法找水.pptx
- 大学课程《国际工程项目管理》PPT课件:第二节 国际工程项目管理.pptx
- 大学课程《国际工程项目管理》PPT课件:国际工程风险管理.pptx
- 大学课程《国际工程项目管理》PPT课件:国际工程索赔管理.pptx
文档评论(0)