kinematic与static刚体不会触发任何接触回调
Main.as
package{
import Box2D.Common.Math.b2Vec2;
import Box2D.Dynamics.b2Body;
import Box2D.Dynamics.Contacts.b2Contact;
import Box2D.Collision.b2Manifold;
import Box2D.Dynamics.b2ContactImpulse;
public class Main extends BaseMain{
public function Main(){
super(new b2Vec2(0,0));
}
override protected function init():void{
UIManager.getInstance().init(this);
var boxA:b2Body=createBox(30,30,50,300);
var circle:b2Body=createCircle(15,50,400);
var boxB:b2Body=createBox(50,200,700,300);
boxA.SetUserData({type:"boxA"});
circle.SetUserData({type:"circle"});
boxB.SetUserData({type:"boxB"});
boxB.SetType(b2Body.b2_staticBody);
boxA.SetType(b2Body.b2_kinematicBody);
boxA.SetLinearVelocity(new b2Vec2(10,0));
boxA.SetPreSolveCallback(preSolve);
boxA.SetContactBeginCallback(contactBegin);
boxA.SetContactEndCallback(contactEnd);
boxA.SetPostSolveCallback(postSolve);
circle.SetType(b2Body.b2_dynamicBody);
circle.SetLinearVelocity(new b2Vec2(5,0));
circle.SetPreSolveCallback(preSolve);
circle.SetContactBeginCallback(contactBegin);
circle.SetContactEndCallback(contactEnd);
circle.SetPostSolveCallback(postSolve);
}
private function contactBegin(contact:b2Contact,other:b2Body):void{
UIManager.getInstance().print("contactBegin:"+other.GetUserData().type);
}
private function contactEnd(contact:b2Contact,other:b2Body):void{
UIManager.getInstance().print("contactEnd:"+other.GetUserData().type);
}
private function postSolve(contact:b2Contact,impulse:b2ContactImpulse,other:b2Body):void{
UIManager.getInstance().print("postSolve:"+other.GetUserData().type);
}
private function preSolve(contact:b2Contact,oldManifold:b2Manifold,other:b2Body):void{
UIManager.getInstance().print("preSolve:"+other.GetUserData().type);
}
override protected function stepBefore():void{
}
};
}
示例:

源码下载:链接:http://pan.baidu.com/s/1bpL8chh 密码:qui7
kinematic与static刚体不会触发任何接触回调的更多相关文章
- ESP32 - GPIO中断触发与事件回调
最近为项目增加了GPIO外部触发中断功能,原理是为GPIO32注册了上升沿触发事件,事件触发后,会向RTOS队列写入数据.在RTOS事件中检测到该队列中有新加入的事件,就读出,并执行相应代码. #de ...
- layer快速点击会触发多次回调
场景还原 测试同学反馈点击了一次操作,为什么会有两条操作记录? 我:???? 排查思路 查看日志,看一下是不是发了两次请求,果不其然啊: 并发了,同一时间发送了两次请求,出现了脏写. 原因 系统的co ...
- Nape "不动"刚体的碰撞交互
"不动"刚体,这里指的是以下两类刚体: 1.刚体的allowMovement和allowRotation都设false的刚体 2.KINEMATIC类型的刚体 如下代码,测试发现输 ...
- C# (事件触发)回调函数,完美处理各类疑难杂症!
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客! 废话说多了...... 嘿嘿:本篇标题为:C# (事件触发)回调函数,完美处理各类疑难杂症.个人理解如下:事件触发也就是触 ...
- Unity 3d 刚体
1.起始的设置如下图: 这是我们运行游戏,方块并不会往下掉. 2.选中CUBE,然后添加刚体 此时再运行,会发现场景的方块会自动掉在地上. 3.我们来看一下刚体的属性 ...
- 一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径
欢迎关注公众号:bin的技术小屋,本文图片加载不出来的话可查看公众号原文 本系列Netty源码解析文章基于 4.1.56.Final版本 1. 前文回顾 在前边的系列文章中,笔者为大家详细剖析了 Re ...
- 采用指数退避算法实现ajax请求的重发,全部完成时触发回调函数
目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...
- 十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象
一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...
- Web前端性能优化——高频触发事件的防抖
JS 提供了行为层的支持,为用户提供了交互的操作性. 然而,部分事件却常常有意无意的被频繁触发.比方浏览器窗体的 resize 事件.某个元素的 mouseover 事件,假设处理触发事件的回调函数过 ...
随机推荐
- 知识点:MySQL表名不区分大小写的设置方法
在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大小写不一致造成的. mysql在windows系统下安装好后,默认是对表名大小写不 ...
- JVM调优原理
JVM堆栈 栈是运行时的单位,而堆是存储的单位. 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据:堆解决的是数据存储的问题,即数据怎么放.放在哪儿. 在Java中一个线程就会相应有一个线程栈 ...
- object视频播放
param name标签是在这个播放插件中嵌入的一些功能和播放参数: <param name="playcount" value="1"><! ...
- a++ 与 ++a 的运算
var a=5: b=a++和b=++a的区别: 前者是先赋值,再自加,即b=a:a=a+1: //结果b=5,a=6 后者是先自加,再赋值,即a=a+1;b=a; //结果a=6,b=6
- SSM 项目整合
SSM整合:spring + springmvc + mybatis 1.1 生成Maven项目:ar_ssm 1.2 添加jar包 <dependencies> <!-- 单元测试 ...
- Delphi疑难问题整理!!!
一.Dll调用时报错,例如: TGetResPrice = function(var AName: string; AFileName: string): TResourceRecArray; std ...
- C# SetParent将其他程序嵌入自己的程序
模块化的开发,将模块合并到一起的时候,遇到了Mdi不能添加到其它窗口下的问题. 分两种情况: 将mdi窗口A设成普通窗口B的子控件,需要将A的TopLevel设置成false,但是Mdi窗口的TopL ...
- alt.js 使用教程
1.action : import alt from "../alt.js"; class DemoActions{ constructor() { this.generateAc ...
- SQL Server 导入超大脚本
另外使用window server 版操作系统,执行脚本文件比普通版操作系统大大提升大小限制. 在执行SQL脚本的时候要是出现了这些情况我咋办呢? 步入正轨 应用场景:服务器升级,比如原来是2003的 ...
- web分页打印
添加css: page-break-before:always 实现分页 window.print()//实现打印