使用PreListener与InteractionListener的一个小发现
如果两个刚体使用PreListener忽略了它的碰撞时,如果这时你使用InteractionListener来侦听它们的碰撞还是可以侦听到的:
1 package { 2 import com.bit101.components.TextArea; 3 import nape.callbacks.CbEvent; 4 import nape.callbacks.CbType; 5 import nape.callbacks.InteractionCallback; 6 import nape.callbacks.InteractionListener; 7 import nape.callbacks.InteractionType; 8 import nape.callbacks.PreCallback; 9 import nape.callbacks.PreFlag; 10 import nape.callbacks.PreListener; 11 import nape.phys.Body; 12 /** 13 * ... 14 * @author kingBook 15 * 2015-02-01 21:18 16 */ 17 public class Main extends BaseMain { 18 19 public function Main() { 20 super({gravity:{x:0,y:0}}); 21 22 } 23 24 private var _box:Body; 25 private var _circle:Body; 26 private var _boxCbType:CbType=new CbType(); 27 private var _circleCbType:CbType=new CbType(); 28 private var _textArea:TextArea; 29 override protected function createBodies():void { 30 //矩形刚体 31 _box=createBox(50,50,100,200); 32 _box.cbTypes.add(_boxCbType); 33 _box.space=_space; 34 35 //圆形刚体 36 _circle=createCircle(30,250,200); 37 _circle.cbTypes.add(_circleCbType); 38 _circle.space=_space; 39 40 _space.listeners.add(new PreListener(InteractionType.COLLISION,_boxCbType,_circleCbType,ignoreHandler)); 41 _space.listeners.add(new InteractionListener(CbEvent.BEGIN,InteractionType.COLLISION,_boxCbType,_circleCbType,onHitBegin)); 42 43 //文本域 44 _textArea=new TextArea(this,5,5); 45 } 46 47 private function ignoreHandler(cb:PreCallback):PreFlag{ 48 return PreFlag.IGNORE; 49 } 50 51 private function onHitBegin(cb:InteractionCallback):void{ 52 _textArea.text += "hit\n" 53 } 54 55 } 56 57 }
拖动矩形刚体与圆形刚体相碰依然可以看到输出: hit
源码下载:http://yunpan.cn/cKBwzyNkfJN7P 访问密码 5883
转载于:https://www.cnblogs.com/kingBook/p/4266103.html
使用PreListener与InteractionListener的一个小发现相关推荐
- 在线实时大数据平台Storm本地模式运行的一个小发现
1.现象:生产中分别部署了两台服务器,独立运行storm,然后拓扑程序提交是本地模式,发现不用启动storm和zookeeper也可以运行: #jps 没有下面进程 QuorumPeerMain ...
- 关于指数函数等价无穷小的小发现!
刚刚做到一道题,其中一个步骤让我深思了许久: 通过等价无穷小的公式 ~ x,可以将分母先变换成. 但上面的为什么消失了? 它的等价无穷小等于1吗?似乎只有这种可能. 于是我开始验算:是不是当e的次数为 ...
- 【ARToolkit】小发现:可以在一个patt里面画多个模型
无意中的一个小发现,我在draw函数里面更改模型的平移,旋转,虚拟物体类型的时候,本来是把茶壶函数 glutSolidTeapot( 50.0 ).更改为正方体 glutSolidCube(50. ...
- 怎么用linux设计一个小程序,“Linux”小程序发布一个月后,我们发现了什么
原标题:"Linux"小程序发布一个月后,我们发现了什么 这一个月来,这个小程序得到了八千多人的使用,一百多位贡献者实际参与了翻译贡献,其中贡献最高的"Datura st ...
- 发现校内网好友买卖的一个小漏洞!并成功实现自动好友买卖!
//有些网站通过网络爬虫转载文章都不写明文章出处,请保留文章原作者:redraiment 公告:因为服务器要转让,我将不再有可使用的服务器.因此挂机站点将于2008年11月6日0时关闭. 最新消息:客 ...
- 熬夜写了一个小游戏,向SpaceX聊表敬意
2019独角兽企业重金招聘Python工程师标准>>> 这是我长久放在桌面上的一张图片. 这张照片的名字叫做 Pale Blue Dot(暗淡蓝点),是旅行者1号在距地球64亿公里回 ...
- 一个小需求,能够做到月活跃用户5000万,就是真牛逼!
来自:Java面试那些事儿 这篇文章是之前写的文章,我觉得还是对不少同学有所帮助,因为生活让大家都太浮躁,很难沉下心来认真做一件事,本文既是给大家推荐一款好用的Chrome插件,同时也给大家讲述这款插 ...
- 一个小程序引发的思考
既然是一个小程序引发的思考,那么我们就先看看这个小程序,看看他有何神奇之处: namespace ConsoleApplication1 {class Program{static void Main ...
- 小程序工程化实践(上篇)-- 手把手教你撸一个小程序 webpack 插件,一个例子带你熟悉 webpack 工作流程...
本文基于 webpack 4 和 babel 7,Mac OS,VS Code 小程序开发现状: 小程序开发者工具不好用,官方对 npm 的支持有限,缺少对 webpack, babel 等前端常用工 ...
最新文章
- 腾讯裁撤中层干部,拥抱年轻人
- redhat7.4安装神通数据库
- 个人计算机上常用的操作系统,个人计算机常用的输出设备 操作系统的发展史(3)...
- mysql将大表定时转储_mysql数据库数据定时封装转储
- 用ASP.NET Core 2.1 建立规范的 REST API -- 保护API和其它
- 程序员崩溃的40个瞬间!!!
- 算法--二分查找--求平方根(循环法/递归法)
- html asp 日历_全球第一本《2021世界艺术日历》,正式发售!
- vscode中如何拉取git代码_工具 | 手把手教你在VSCode中使用Git
- java day36【XML概念 、语法 、解析】
- 二、jdk命令之javah命令(C Header and Stub File Generator)
- 滑动门套滑动门css,CSS 实现滑动门的实例代码
- Java验证输入邮箱格式是否正确
- ubuntu安装pr_Ubuntu 18.04 安装 Openbravo-3.0PR19Q1
- 仿QQ空间登录,解决键盘挡住输入框的问题
- 青龙面板2.8版本+Ninja 保姆级 服务器安装jd代挂教程——(一)
- 用酒精,湿巾,擦笔记本电脑/键盘,然后触摸板就不能用了?什么情况?
- Pycharm如何改变背景教程
- R语言使用glmnet包拟合lasso-cox回归模型(包含生存时间和结果标签)、使用lasso-cox模型进行特征筛选、使用sapply函数对特征数据进行标准化z-score
- 浣溪沙·江畔芦花【明书词两首】