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 事件,假设处理触发事件的回调函数过 ...
随机推荐
- 事件之Touch 事件的分发和消费机制
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev). ...
- 几种常见NPE
NPE(Null Point Exception的简称) 1.Map下的NPE 直接上代码: public class User { private Integer id; private Strin ...
- 读《SQL优化核心思想》:你不知道的优化技巧
SQL性能问题已经逐步发展成为数据库性能的首要问题,80%的数据库性能问题都是因SQL而导致. 1.1 基数(CARDINALITY) 某个列唯一键(Distinct_Keys)的数量叫作基数.比如性 ...
- python+bs4+urllib
# -*- coding: utf-8 -*- # # # from bs4 import BeautifulSoup import urllib2 import sys reload(sys) sy ...
- Noi.ac #309. Mas的童年(贪心)
/* 用所谓的加法拆分操作得到 x + y = (x ^ y) + 2 * (x & y) 那么我们这两段异或相当于前缀和 + 2 * 分段使左右两块&最大 记当前前缀异或和为S, 那 ...
- 模拟select控件,css模拟下拉
<!DOCTYPE html > <head> <meta http-equiv="Content-Type" content="t ...
- Java file方法的路径特性
1.在flle方法里,直接写空白的路径,是会默认获取当前Java编译工作空间的路径. 例子如下: package example_1; import java.io.File; import java ...
- pymysql-connect阻塞
class Connection(object): """ Representation of a socket with a mysql server. The pro ...
- Linux设置DNS server
查看: cat /etc/resolv.conf 修改: vim /etc/resolv.conf
- checked选择器实现tab切换
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...