代码之家  ›  专栏  ›  技术社区  ›  Joshua

裁剪雪碧

  •  3
  • Joshua  · 技术社区  · 15 年前

    如何在Flex中的Sprite上完成裁剪/剪裁?

    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="Init()">
      <mx:Script>
        <![CDATA[
          public function Init():void {
            var spr:Sprite=new Sprite();
            uic.addChild(spr);
            uic.graphics.lineStyle(2,0);
            uic.graphics.moveTo(22, 22);
            uic.graphics.lineTo(2222, 2222);
          }
        ]]>
     </mx:Script>
     <mx:Panel title="StackOverflow">
        <mx:UIComponent width="200" height="200" id="uic"/>
      </mx:Panel>
    </mx:WindowedApplication>
    

    请注意,lineTo将完全离开UIComponent和Panel。

    我怎样才能使我的UIComponent或Sprite,或面板被裁剪/剪裁? alt text
    liquidfeline.com )

    我意识到我可以把硬编码的2222改成更合理的,但是我需要一个通用的解决方案,因为实际的项目不涉及硬编码的值,我可以修改,但是可以处理动态数据。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Mahir    15 年前

    戴上面具。

    var mask:Shape = new Shape();
    with(mask.graphics)
    {
        beginFill(0xFFFFFF, 1); // white, opaque
        drawRect(0, 0, width, height);
        endFill();
    }
    uic.mask = mask;
    
        2
  •  5
  •   simonrichardson    15 年前

    scrollRect 格兰特·斯金纳。

    推荐文章