본문 바로가기

OM

컬러 팔레트를 이용한 색칠공부


fillWithPallette.mxml===================================================================================

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="520" height="400" xmlns:ns1="*">
 <mx:Style>
  Application{
   backgroundColor : #ffffff;
   fontSize : 12;
  }
 </mx:Style>
 
 <mx:Script>
  <![CDATA[  
   public function setColor(_color:uint):void
   {
    cv1.Color = _color;
    cv2.Color = _color;
   }
  ]]>
 </mx:Script>
 
 <mx:Blur blurXFrom="10" blurYFrom="10" blurXTo="0" blurYTo="0" duration="1000" id="ef1"/>
 <mx:Blur blurXFrom="0" blurYFrom="0" blurXTo="10" blurYTo="10" duration="1000" id="ef2"/>
 
 <mx:Panel x="0" y="0" width="520" height="400" layout="absolute" title="색칠공부">
  <mx:Label x="308" y="10" fontWeight="bold" text="Color Swatches"/>
  <ns1:pallette x="308" y="38"/>
  <mx:ViewStack x="0" y="0" width="300" height="320" id="viewstack1">
    <ns1:fill_01 x="0" y="0" showEffect="{ef1}" hideEffect="{ef2}" id="cv1"/>
    <ns1:fill_02 x="0" y="0" showEffect="{ef1}" hideEffect="{ef2}" id="cv2"/>
  </mx:ViewStack>
  <mx:ControlBar>
   <mx:HBox width="50%">
    <mx:LinkButton label="Created by Shallaa" fontSize="10"
     click="navigateToURL(new URLRequest('http://shallaazm.tistory.com'));"
     textDecoration="underline" alpha="0.20"
     />
   </mx:HBox>
   <mx:HBox width="50%" horizontalAlign="right">
    <mx:Button label="T_01" buttonMode="true" click="viewstack1.selectedIndex=0"/>
    <mx:Button label="T_02" buttonMode="true" click="viewstack1.selectedIndex=1"/>
   </mx:HBox>
  </mx:ControlBar>
 </mx:Panel>
</mx:Application>

=====================================================================================================

pallette.mxml=========================================================================================

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="180" height="170" initialize="init()">
 <mx:Script>
  <![CDATA[
   import mx.containers.*;
   
   private var code:Array;
   
   private function getCode(_c:int):String
   {
    return code[_c];
   }
   
   private function init():void
   {
    code = new Array();
    code = ["00", "33", "66", "99", "CC", "FF"];
    makePallette();
   }
   
   private function makePallette():void
   {
    for(var X:int=0; X<18; X++)
    {
     for(var Y:int=0; Y<12; Y++)
     {
      var tempRed:int = int(Y/6)*3 + int(X/6);
      var red:String = getCode(tempRed);
      var green:String = getCode(X%6);
      var blue:String = getCode(Y%6);
     
      var mc:Canvas = new Canvas();
      mc.width = 10;
      mc.height = 10;
      mc.x = 10*X;
      mc.y = 30 + 10*Y;
      mc.name = "0x" + red + green + blue;
     
      mc.setStyle("backgroundColor", mc.name);
      mc.setStyle("borderStyle", "inset");
     
      mc.addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
     
      this.addChild(mc);
     }
    }
   }
   
   private function downHandler(e:MouseEvent):void
   {
    view2.text = e.target.name;
    view1.setStyle("backgroundColor", e.target.name);
   
    parentDocument.setColor(uint(e.target.name));
   }
  ]]>
 </mx:Script>
 
 <mx:Canvas x="0" y="0" width="70" height="22" borderStyle="solid" id="view1"/>
 <mx:TextInput x="78" y="0" width="82" editable="false" id="view2"/>
</mx:Canvas>

=====================================================================================================

fill_01.mxml===========================================================================================

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
 <mx:Script>
  <![CDATA[
   import flash.geom.*;
   
   private var selectedColor:uint;
   
   public function set Color(_color:uint):void
   {
    selectedColor = _color;
   }
         
   private function clickHandler(e:MouseEvent):void
   {
    var fillColor:ColorTransform = new ColorTransform();
    fillColor.color = selectedColor;
   
    e.target.transform.colorTransform = fillColor;
   }
  ]]>
 </mx:Script>
 
 <mx:Image x="32.5" y="53" source="@Embed('images/t_04.png')" click="clickHandler(event)"/>
 <mx:Image x="86.5" y="195" source="@Embed('images/t_02.png')" click="clickHandler(event)"/>
 <mx:Image x="42.5" y="249" source="@Embed('images/t_01.png')" click="clickHandler(event)"/>
 <mx:Image x="80.5" y="40" source="@Embed('images/t_03.png')" click="clickHandler(event)"/>
 <mx:Image x="28.5" y="36" source="@Embed('images/t_line.png')" mouseEnabled="false"/>
</mx:Canvas>

=====================================================================================================

fill_02.mxml===========================================================================================

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
 
 <mx:Script>
  <![CDATA[
   import flash.geom.*;
   
   private var selectedColor:uint;
   
   public function set Color(_color:uint):void
   {
    selectedColor = _color;
   }
         
   private function clickHandler(e:MouseEvent):void
   {
    var fillColor:ColorTransform = new ColorTransform();
    fillColor.color = selectedColor;
   
    e.target.transform.colorTransform = fillColor;
   }
  ]]>
 </mx:Script>
 
 <mx:Image x="20.25" y="20" scaleX="0.9" scaleY="0.9" source="@Embed('images/t_05.png')" click="clickHandler(event)"/>
 <mx:Image x="111.35" y="14" scaleX="0.9" scaleY="0.9" source="@Embed('images/t_06.png')" click="clickHandler(event)"/>
 <mx:Image x="12.6" y="6" scaleX="0.9" scaleY="0.9" source="@Embed('images/t_line_02.png')" mouseEnabled="false"/>
</mx:Canvas>

=====================================================================================================

'OM' 카테고리의 다른 글

가사가 표시되는 MP3 Player  (0) 2008.03.15
MP3 플레이어  (0) 2008.03.13
그림판  (0) 2008.03.13
Color Balance  (0) 2008.03.13
컬러 팔레트  (0) 2008.02.28
색칠공부  (4) 2008.02.23
영어 학습 컨텐츠  (0) 2008.02.22
keyUtil  (0) 2008.02.09
타자게임  (0) 2008.02.09