本期介绍游戏中经常要用到的碰撞,作为新手入门级碰撞介绍,我准备介绍利用Rectangle类实现碰撞,这个方法可以实现不是很精确的碰撞,但是如果用活了,基本可以满足大部分游戏碰撞的需求。

在starling中所有继承至DisplayObject的类,都拥有一个属性bounds,这个属性返回相对于父级坐标系的矩形区域,返回值的类型是Rectangle,而Rectangle类提供了contains()、containsPoint()这两个方法,都是判断矩形区域类是否包含某个点,下面看一下怎么用这两个方法的代码:

private function judgementCollision():void{if(flood1.bounds.containsPoint(role.bounds.bottomRight)||flood1.bounds.contains(role.bounds.left,role.bounds.bottom)){rect=flood1.bounds;isCollision=true;return;}if(flood2.bounds.containsPoint(role.bounds.bottomRight)||flood2.bounds.contains(role.bounds.left,role.bounds.bottom)){rect=flood2.bounds;isCollision=true;return;}isCollision=false;
}

代码中两个if条件中正是判断flood1、flood2对象的矩形区域内是否包含role对象的右下角的点和左下角的点,效果如下图所示:

绿色代表role,土黄代表flood

中间有缝隙是因为图形有黑色线框,所以在黑色背景中看上去没有碰在一起,这种方法已经足够处理游戏中大多素碰撞了,看官们可以自己先思考,后面会介绍怎样将这个方法用活。

(新手入门)AS3基于Starling引擎移动开发之starling简单碰撞相关推荐

  1. (新手入门)AS3基于starling引擎移动开发之Starling入门

    Starling入门 上一期介绍了基于starling的AS3在移动开发上的大致情况,这一期我向各位新手朋友介绍starling的使用,建立第一个可以运行的starling程序,让大家初步了解star ...

  2. android签到功能开发,Android应用开发之Android简单实现app每月签到功能

    本文将带你了解Android应用开发Android简单实现app每月签到功能,希望本文对大家学Android有所帮助. 本文实例为大家分享了Android实现app每月签到功能的具体代码,供大家参考, ...

  3. Android之基于xmpp openfire smack开发之Android消息推送技术原理分析和实践[4]

    http://blog.csdn.net/shimiso/article/details/8156439 前面几篇给大家系统讲解的有关xmpp openfire smack asmack相关的技术和使 ...

  4. Android之基于xmpp openfire smack开发之Android客户端开发[3]

    http://blog.csdn.net/shimiso/article/details/11225873 在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们 ...

  5. Android之基于xmpp openfire smack开发之openfire介绍和部署[1]

    http://blog.csdn.net/forlong401/article/details/33730365 前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack ...

  6. 基于xmpp openfire smack开发之smack类库介绍和使用[2]

    关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可以向openfire服务器注册用户,发送消息,并且可以通过监听器获得此用户的应答消息,以及构建聊天室,分组 ...

  7. Android之基于xmpp openfire smack开发之smack类库介绍和使用[2]

    http://blog.csdn.net/shimiso/article/details/8816540 关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可 ...

  8. 网站开发之MyEclipse简单实现JSP网页表单提交及传递值

    本文主要是作者<中小型网站开发与设计>课程的内容,非常基础的文章,主要是指导学生学会用MyEclipse实现JSP网页表单提交及传递参数.希望大家喜欢这篇文章,基础文章,不喜勿喷~ PS: ...

  9. Qt开发之QLineEdit简单介绍

    QLineEdit是一个单行文本编辑器,允许用户输入和编辑单行纯文本.自带一些编辑例如撤销.重做.剪切.粘贴等功能. QLineEdit继承自QWidget类,具备父类各种API. QLineEdit ...

最新文章

  1. Axis,axis2,Xfire以及cxf对比 (转)
  2. Java机器学习库ML之五样本不均衡
  3. Linux信号 三 信号发送接口集合
  4. Libra深度解析!
  5. apache 的工作模式
  6. Android Prelink实现的源码分析
  7. Maven Tomcat 部署
  8. .NET 5 中的正则引擎性能改进(翻译)
  9. [Leedcode][JAVA][第46题][全排列][回溯算法]
  10. iOS实现文字渐变效果
  11. 浏览器用户用滤镜实现网页的翻转效果
  12. 简练软考知识点整理-管理项目团队
  13. java编辑简单文本编辑器_简单文本编辑器
  14. shortest path problem
  15. 爱荷华州立大学计算机学院,享誉全美的祖父级大学——爱荷华州立大学(ISU)...
  16. zigbee CC2530 系列教程 8 AD采集内部温度实验
  17. 利用OneDNS同步chrome数据
  18. AT4352 [ARC101C] Ribbons on Tree
  19. 2021届 联发科技视频一面 嵌入式软件
  20. python对单个数字或者数组取对数和指数

热门文章

  1. Linux系统如何安装apache,和DNS服务并进行应用
  2. XGBoost, LightGBM
  3. Qt(c++)调用海康威视监控摄像头
  4. java web freemaker_freemaker
  5. 程序员和产品打架,被罚拉手一下午!
  6. MySQL(InnoDB剖析):42---事务之(事务控制语句:begin、commit、rollback、savepoint、transaction)
  7. 宝付盘点那些来自童年时期的支付方式
  8. Android设备之间投屏功能实现
  9. 关于打印机柯尼卡美能达出现c2557错误解决方法
  10. 基于matlab的人脸考勤系统,gui界面,界面简洁,实现实时打卡考勤