zoukankan      html  css  js  c++  java
  • 【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 = [];
                }
            }
        }
    }
  • 相关阅读:
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    算法の序列
  • 原文地址:https://www.cnblogs.com/kingfly/p/2606157.html
Copyright © 2011-2022 走看看