2016-10-13 00:16:48 点击量:12 标签: 收藏本文
[AS3]as3版更为精确的不规则图形碰撞检测写法示例
- package
- {
- import com.ui.Star;
- 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 Main extends Sprite
- {
- private var bmpd1:BitmapData;
- private var bmp1:Bitmap;
- private var bmpd2:BitmapData;
- private var bmp2:Bitmap;
- public function Main():void
- {
- init();
- }
- private function init():void
- {
- stage.align = StageAlign.TOP_LEFT;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- var star:Star = new Star(50);
- bmpd1 = new BitmapData(100,100,true,0);
- bmpd1.draw(star, new Matrix(1,0,0,1,50,50));
- bmp1 = new Bitmap(bmpd1);
- bmp1.x = 200;
- bmp1.y = 200;
- this.addChild(bmp1);
- bmpd2 = new BitmapData(100,100,true,0);
- bmpd2.draw(star, new Matrix(1,0,0,1,50,50));
- bmp2 = new Bitmap(bmpd2);
- this.addChild(bmp2);
- stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoving);
- }
- 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))
- {
- bmp1.filters = [new GlowFilter()];
- bmp2.filters = [new GlowFilter()];
- }
- else
- {
- bmp1.filters = [];
- bmp2.filters = [];
- }
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室