• AS3复制图形镜像


    在做开发的时候遇到了图形镜像的问题,感觉这个不难但是写起来应该是挺麻烦的。不过看了网上的一篇文章以后发现其实解决的方法是很多的。

     1 var container:Sprite = new Sprite();
    2 var brush:Sprite = new Sprite();
    3 //设置镜像中心点的位置set mirror center
    4 brush.x = 600/2;
    5 brush.y = 400/2;
    6 container.addChild ( brush );
    7 addChild ( container );
    8
    9 var canDraw:Boolean = false;
    10 var pen:Graphics = brush.graphics;
    11
    12 //复制镜像部分 copy mirror
    13 var mirrorBmd:BitmapData = new BitmapData(600,400,true,0x00ffffff );
    14 var mirrorImage:Bitmap = new Bitmap( mirrorBmd );
    15 addChild ( mirrorImage );
    16 //镜像的数量
    17 var mirrorNum = 8;
    18 //镜像生成函数
    19 function showMirrorImage () {
    20 var angle = 360 / mirrorNum;
    21 mirrorBmd.draw ( container );
    22 for (var i:int = 1; i < mirrorNum; i++) {
    23 brush.rotation = angle * i;
    24 mirrorBmd.draw ( container );
    25 }
    26 brush.rotation = 0;
    27 }
    28
    29 stage.addEventListener ( MouseEvent.MOUSE_DOWN, beginPaint );
    30 stage.addEventListener ( MouseEvent.MOUSE_MOVE, onPaint );
    31 stage.addEventListener ( MouseEvent.MOUSE_UP, endPaint );
    32 function beginPaint (_evt:MouseEvent ) {
    33 canDraw = true;
    34 pen.lineStyle (1, 0x006699, 0.75, true, "normal", CapsStyle.ROUND, JointStyle.ROUND, 0.5);
    35 pen.moveTo (brush.mouseX, brush.mouseY);
    36 }
    37 function onPaint ( evt:MouseEvent ) {
    38 if ( canDraw ) {
    39 pen.lineTo ( brush.mouseX, brush.mouseY );
    40 showMirrorImage ();
    41 }
    42 }
    43 function endPaint ( evt:MouseEvent ) {
    44 if ( canDraw ) {
    45 pen.lineTo ( brush.mouseX, brush.mouseY );
    46 pen.clear ();
    47 canDraw = false;
    48 }
    49 }
  • 相关阅读:
    Unicode 字符串
    Python 三引号
    摄像头ISP系统原理(上)
    目标检测中特征融合技术(YOLO v4)(下)
    目标检测中特征融合技术(YOLO v4)(上)
    行人检测与重识别!SOTA算法
    最佳点云分割分析
    高动态范围(High-Dynamic Range,简称HDR)
    3D车道线检测:Gen-LaneNet
    第四代自动泊车从APA到AVP技术
  • 原文地址:https://www.cnblogs.com/AS30/p/2236100.html
Copyright © 2020-2023  润新知