加入收藏 | 网站地图
主页 > Flash >

Flash AS3:使用BitmapData.hitTest 测试非位图对象教程

2013-04-11 10:54 来源:网络 对此文章感兴趣的有:

  在到目前为止的所有例子中,我们一直都直接使用Bitmap对象作为要移动和测试的显示对象。但是在很多情况下(几乎是大多数情况),实际上会移动不同类型的显示对象,如MovieClip 、Sprite或Shape对象。由于不能对这些类型的对象完成上述碰撞测试,因此需要对设置稍做修改。具体策略是维护一些隐式时tmapData对象,但是不放在显示列表中。每当需要检查两个实际显示对象之间是否存在碰撞时,将显示对象分别绘制到一个位图上,并对位图进行碰撞测试。

  应该认识到,使用位图完成碰撞检测并不是唯一的办法,也不一定是最好的做法。还有几十种可能的方法,当然使用位图完成碰撞测试确实能得到想要的效果。可以原样使用这种方法,也可以在它的基础上加以改进。下面是由tmapCollision3类:

  package

  {

  import Flash.display.BitmapData;

  import flash.display.Sprite;

  import flash.display.StageAlign;

  import flash.display.StageScaleMode;

  import flash.events.MouseEvent;

  import flash.filters.GlowFilter;

  import flash.geom.Matrix;

  import flash.geom.Point;

  public class BitmapCollision3 extends Sprite

  {

  private var bmpdl:BitmapData;

  private var bmpd2:BitmapData;


更多

我要学设计

1.请认真填写您的姓名,专业,联系方式(我们将严格为您保密)

2.您提交信息后24小时内,网站客服人员会与您确认信息;

3.48小时内,给您推荐的三家软件培训学校会电话与您沟通,约定好时间及会面地点;

4.培训老师与您进行沟通,为您推荐适合您的软件培训课程;

5.恩施培训网在线报名网址:点击进入网上报名系统

6.恩施培训网官方报名网址:www.enshipx.com