(新手入门)AS3基于Starling引擎移动开发之starling简单碰撞
本期介绍游戏中经常要用到的碰撞,作为新手入门级碰撞介绍,我准备介绍利用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简单碰撞相关推荐
- (新手入门)AS3基于starling引擎移动开发之Starling入门
Starling入门 上一期介绍了基于starling的AS3在移动开发上的大致情况,这一期我向各位新手朋友介绍starling的使用,建立第一个可以运行的starling程序,让大家初步了解star ...
- android签到功能开发,Android应用开发之Android简单实现app每月签到功能
本文将带你了解Android应用开发Android简单实现app每月签到功能,希望本文对大家学Android有所帮助. 本文实例为大家分享了Android实现app每月签到功能的具体代码,供大家参考, ...
- Android之基于xmpp openfire smack开发之Android消息推送技术原理分析和实践[4]
http://blog.csdn.net/shimiso/article/details/8156439 前面几篇给大家系统讲解的有关xmpp openfire smack asmack相关的技术和使 ...
- Android之基于xmpp openfire smack开发之Android客户端开发[3]
http://blog.csdn.net/shimiso/article/details/11225873 在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们 ...
- Android之基于xmpp openfire smack开发之openfire介绍和部署[1]
http://blog.csdn.net/forlong401/article/details/33730365 前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack ...
- 基于xmpp openfire smack开发之smack类库介绍和使用[2]
关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可以向openfire服务器注册用户,发送消息,并且可以通过监听器获得此用户的应答消息,以及构建聊天室,分组 ...
- Android之基于xmpp openfire smack开发之smack类库介绍和使用[2]
http://blog.csdn.net/shimiso/article/details/8816540 关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可 ...
- 网站开发之MyEclipse简单实现JSP网页表单提交及传递值
本文主要是作者<中小型网站开发与设计>课程的内容,非常基础的文章,主要是指导学生学会用MyEclipse实现JSP网页表单提交及传递参数.希望大家喜欢这篇文章,基础文章,不喜勿喷~ PS: ...
- Qt开发之QLineEdit简单介绍
QLineEdit是一个单行文本编辑器,允许用户输入和编辑单行纯文本.自带一些编辑例如撤销.重做.剪切.粘贴等功能. QLineEdit继承自QWidget类,具备父类各种API. QLineEdit ...
最新文章
- Axis,axis2,Xfire以及cxf对比 (转)
- Java机器学习库ML之五样本不均衡
- Linux信号 三 信号发送接口集合
- Libra深度解析!
- apache 的工作模式
- Android Prelink实现的源码分析
- Maven Tomcat 部署
- .NET 5 中的正则引擎性能改进(翻译)
- [Leedcode][JAVA][第46题][全排列][回溯算法]
- iOS实现文字渐变效果
- 浏览器用户用滤镜实现网页的翻转效果
- 简练软考知识点整理-管理项目团队
- java编辑简单文本编辑器_简单文本编辑器
- shortest path problem
- 爱荷华州立大学计算机学院,享誉全美的祖父级大学——爱荷华州立大学(ISU)...
- zigbee CC2530 系列教程 8 AD采集内部温度实验
- 利用OneDNS同步chrome数据
- AT4352 [ARC101C] Ribbons on Tree
- 2021届 联发科技视频一面 嵌入式软件
- python对单个数字或者数组取对数和指数
热门文章
- Linux系统如何安装apache,和DNS服务并进行应用
- XGBoost, LightGBM
- Qt(c++)调用海康威视监控摄像头
- java web freemaker_freemaker
- 程序员和产品打架,被罚拉手一下午!
- MySQL(InnoDB剖析):42---事务之(事务控制语句:begin、commit、rollback、savepoint、transaction)
- 宝付盘点那些来自童年时期的支付方式
- Android设备之间投屏功能实现
- 关于打印机柯尼卡美能达出现c2557错误解决方法
- 基于matlab的人脸考勤系统,gui界面,界面简洁,实现实时打卡考勤