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{
var boxA:b2Body=createBox(30,30,50,300);
var boxB:b2Body=createBox(40,40,700,300);
boxA.SetUserData({type:"boxA"});
boxB.SetUserData({type:"boxB"});
boxA.SetSensor(true);
boxB.SetSensor(true);
boxA.SetPreSolveCallback(preSolve);
boxA.SetContactBeginCallback(contactBegin);
boxA.SetContactEndCallback(contactEnd);
boxA.SetPostSolveCallback(postSolve);
} private function contactBegin(contact:b2Contact,other:b2Body):void{
trace("contactBegin:"+other.GetUserData().type);
} private function contactEnd(contact:b2Contact,other:b2Body):void{
trace("contactEnd:"+other.GetUserData().type);
} private function postSolve(contact:b2Contact,impulse:b2ContactImpulse,other:b2Body):void{
trace("postSolve:"+other.GetUserData().type);
} private function preSolve(contact:b2Contact,oldManifold:b2Manifold,other:b2Body):void{
trace("preSolve:"+other.GetUserData().type); } override protected function stepBefore():void{ } };
}

测试源码:链接:http://pan.baidu.com/s/1bpELP6n 密码:pep2

对于两个初始时设置为Sensor的刚体,不会触发preSolve和postSolve的更多相关文章

  1. CSAPP读书随笔之一:为什么汇编器会将call指令中的引用的初始值设置为-4

    CSAPP,即<深入理解计算机系统:程序员视角>第三版,是一本好书,但读起来确需要具备相当的基本功.而且,有的表述(中译文)还不太直白. 比如,第463页提到,(对于32位系统)为什么汇编 ...

  2. [转]Loadrunner11之VuGen运行时设置Run-Time Setting

    转自:http://www.51testing.com/html/92/450992-248065.html General 1.Run Logic运行逻辑 脚本如何运行的,每个action和acti ...

  3. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  4. Java中HashMap的初始容量设置

    根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16: 集合初始化时, 指定集合初始值大小. 说明: HashMap使用HashMap(in ...

  5. SqlServer 更改复制代理配置文件参数及两种冲突策略设置

    原文:SqlServer 更改复制代理配置文件参数及两种冲突策略设置 由于经常需要同步测试并更改代理配置文件属性,所以总结成脚本,方便测试. 可更新订阅的冲突策略有两种情况:一是在发布中冲突,即订阅数 ...

  6. Linux-1.1root初始密码设置,切换root用户

    Ubuntu安装好后,root密码需要自己设置 root初始密码设置 sudo passwd root 权限不够时,切换root su 回车后输入密码 exit 退出登录的账户

  7. 阿里巴巴Java开发手册建议创建HashMap时设置初始化容量,但是多少合适呢?

    集合是Java开发日常开发中经常会使用到的,而作为一种典型的K-V结构的数据结构,HashMap对于Java开发者一定不陌生. 关于HashMap,很多人都对他有一些基本的了解,比如他和hashtab ...

  8. 关于js中两种定时器的设置及清除

    1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法 ...

  9. listview当选中某一个item时设置背景色其他的不变

    listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeListener(listener) ; /** * listview获得焦点和 ...

随机推荐

  1. JDK、JRE与JVM的关系

  2. python类的全面介绍

    转载:全面介绍python面向对象的编程——类的基础 转载:类的实例方法.静态方法.类方法的区别

  3. root用户以修改文件的方式,修改用户密码

    老早就听说linux的用户密码只是存储在普通的文本文件里,但一直没去了解,今天遇上了需要强行修改的情况... 给碰到个奇葩linux,居然没有passwd命令. 生成密码摘要 openssl pass ...

  4. Json2:使用gson解析为List和Map

    import java.lang.reflect.Type; import java.util.List; import com.google.gson.Gson; import com.google ...

  5. python、javascript中的不可变对象

    比如python中str是不变对象,而list是可变对象,javascript中str也是不变对象,而array是可变对象 python的例子: >>> a = 'abc' > ...

  6. git将多个commit合并成一个

    1. 查看提交历史(最近10个) git log - 2. 回到前面第十个commit,且将后面九个commit提交的内容状态改为未提交 git reset commitID(第十个commit的ID ...

  7. Xcode 如何导入IOS项目

    前言:基于mac上如何导入ios项目的文章,手机自动化项目需要进行手机元素定位,前提是导入IOS项目 1.安装Xcode 到官网下载mac版Xcode:当前使用版本Version 7.3.1 http ...

  8. Mac安装compass失败的原因

    之前一直用的windows电脑,突然间切换成mac,各种不习惯,刚开始的时候连文件夹都找不到,悲催…… 还好,熟悉了两天之后,基本上也能够操作了. 然后就是安装各种开发软件,由于个人习惯了使用sass ...

  9. ES6学习笔记<一> let const class extends super

    学习参考地址1  学习参考地址2 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015:也 ...

  10. tkinter面板切换