浏览 1559 次
锁定老帖子 主题:JAVAME学习笔记(7)
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-01-10
使用defineCollisionRectangle()定义用于碰撞检测的Sprite的矩形区域。此指定的矩形是相对于未经变换的Sprite的左上角,该区域将用于检测碰撞。对于像素级的碰撞检测,仅仅在这个碰撞检测区内部的像素点会被检查。缺省的,Sprite的碰撞检测区定位在(0,0),并与Sprite尺度相同。碰撞检测区也可以指定为大于或小于缺省的碰撞检测区;如果大于缺省的碰撞检测区,在Sprite之外的像素在像素级的碰撞检测时被认为是透明的。 要判断两个Sprite是否碰撞,或者与其他Layer是否碰撞,可以使用collidesWith()方法。如果使用像素级检测,仅当非透明像素重叠时,碰撞才被检测到。即第一个Sprite中的非透明像素和第二个Sprite中的非透明像素重叠时,碰撞才被检测到。仅仅那些包含在Sprite的碰撞检测区内的像素会被检测。 如果不使用像素级检测,这个方法就简单地检查两个Sprite的碰撞检测区矩形是否有重合。 如果对Sprite应用了变换,会进行相应的处理。注意,只有两个Sprite都可见时,才能检测碰撞。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |