[Actionscript] 간편하게 쉐이프를 만들어주는 UniqueShape on redgoose note

[Actionscript] 간편하게 쉐이프를 만들어주는 UniqueShape

Nest: Development Category: ETC 2013-03-16

UniqueShape Class

임의의 모양을 간단하게 만들수 있는 클래스

출처 : http://www.libspark.org/wiki/UniqueShape

사전준비

  • 먼저 별도의 클래스들을 불러와야하기 때문에 제작자사이트에서 라이브러리를 받아 플래시 클래스패스에 넣어준다.
  • 경로는 ~classPath/whirlpower/uniqueshape로 될것이다.
  • 작업할 as소스에서 클래스를 임포트한다.
    import whirlpower.uniqueshape.SingleShape;
    import whirlpower.uniqueshape.items.primitive.*;

활용예제

package {
  import flash.display.Shape;
  import flash.display.Sprite;

  import whirlpower.uniqueshape.SingleShape;
  import whirlpower.uniqueshape.items.primitive.*;

  public class CustomShape extends Sprite {
    public function CustomShape() {
      // Heart
      var _heart:Shape = new SingleShape(new Hart());
      _heart.x = _heart.width * 0.5 + 70;
      _heart.y = stage.stageHeight * 0.5;
      addChild(_heart);

      // Club
      var _club:Shape = new SingleShape(new Clover());
      _club.x = _club.width + 120;
      _club.y = stage.stageHeight * 0.5;
      addChild(_club);

      // Cross
      var _cross:Shape = new SingleShape(new Cross());
      _cross.x = _cross.width + 210;
      _cross.y = stage.stageHeight * 0.5;
      addChild(_cross);

      // Diamond
      var _diamond:Shape = new SingleShape(new Dire());
      _diamond.x = _diamond.width + 300;
      _diamond.y = stage.stageHeight * 0.5;
      addChild(_diamond);

      // Droplet
      var _water:Shape = new SingleShape(new Water());
      _water.x = _water.width + 390;
      _water.y = stage.stageHeight * 0.5;
      addChild(_water);
    }
  }
}

만든 쉐이프에서 컬러를 변경하는법

쉐이프 컬러를 변경하려면 DrawOption라는 클래스를 임포트해줘야한다.

import whirlpower.uniqueshape.DrawOption;

그리고 아래 코드와 같이 DrawOption클래스로 인스턴스를 만들고, 인스턴스 에서 fillColor 파라메터로 컬러를 지정한다.

var _dwo:DrawOption = new DrawOption();
_dwo.fillColor = 0x3DA9BD;

마지막으로 SingleShape 클래스로 인스턴스를 만들 때 두번째 인자값에 DrawOption 클래스로 만든 인스턴스를 넣어준다.

var _heart:Shape = new SingleShape(new Hart());