flash中的碰撞检测
发布时间:2020-12-15 06:48:45 所属栏目:百科 来源:网络整理
导读: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
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; import model.Star; 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; //绘制星星 var star:Star = new Star(50); bmpd1 = new BitmapData(100,100,true,0); bmpd1.draw(star,new Matrix(1,1,50,50)); bmp1 = new Bitmap(bmpd1); bmp1.x = 200; bmp1.y = 200; addChild(bmp1); bmpd2 = new BitmapData(100,0); bmpd2.draw(star,50)); bmp2 = new Bitmap(bmpd1); bmp2.x = 200; bmp2.y = 200; addChild(bmp2); stage.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMoveing); } private function onMouseMoveing(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 = []; }//下面是检测一个点是否与一个位图碰撞。//if(bitmapDate1.hitTest(new Point(bitmap1.x,bitmap1.y),new Point(mouseX,mouseY))) { ???? //bitmap1.filters = [new GlowFilter()]; ??? //} else { ??//??bitmap1.filters = []; //} //} } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |