hitTest使用

package
{
 import flash.display.Bitmap;
 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 BitmapCollision1 extends Sprite
 {
  private var bmpd1:BitmapData;
  private var bmp1:Bitmap;
  private var bmpd2:BitmapData;
  private var bmp2:Bitmap;
  
  public function BitmapCollision1()
  {
   
   stage.align = StageAlign.TOP_LEFT;
   stage.scaleMode = StageScaleMode.NO_SCALE;
   // make a star
   var star:Star = new Star(50);
   // make a fixed bitmap, draw the star into it
   bmpd1 = new BitmapData(100, 100, true, 0);
   bmpd1.draw(star, new Matrix(1, 0, 0, 1, 50, 50));
   bmp1 = new Bitmap(bmpd1);
   bmp1.x = 500;
   bmp1.y = 500;
   addChild(bmp1);
   
   
   bmpd2 = new BitmapData(100, 100, true, 0);
   bmpd2.draw(star, new Matrix(1, 0, 0, 1, 50, 50));
   bmp2 = new Bitmap(bmpd2);
   addChild(bmp2);
   stage.addEventListener(MouseEvent.MOUSE_MOVE, onMousePointMoving);
  }
  
  //检测和点的碰撞一般是用于鼠标是否接触位图
  private function onMousePointMoving(event:MouseEvent):void{
   if(bmpd1.hitTest(new Point(bmp1.x, bmp1.y), 255, new Point(mouseX, mouseY))) { //0(完全透明)到255(完全不透明
    // 鼠标碰到位图啦
    bmp1.filters = [new GlowFilter()];
   }else{
    bmp1.filters = [];
   }
  }
  //检测BitmapData和BitmapData的碰撞一般是用于鼠标是否接触位图
  private function onMouseMoving(event:MouseEvent):void{
   bmp2.x = mouseX - 50;
   bmp2.y = mouseY - 50;
   
   if(bmpd1.hitTest(new Point(bmp1.x, bmp1.y), 255, bmpd2,new Point(bmp2.x, bmp2.y),255)){//0(完全透明)到255(完全不透明
    bmp1.filters = [new GlowFilter()];
    bmp2.filters = [new GlowFilter()];
   }else{
    bmp1.filters = [];
    bmp2.filters = [];
   }
  }
 }
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值