내가 플렉스를 하게 될줄은 몰랐다. -_-;

처음에 서이니가 전문적인 일을 하고 싶다고 이야기 하길래 Flex를 추천해 주었다. 그리고 기본적으로 필요한 부분은 Flex 강의 및 개발을 하는 FlexComponent 카페 매니저 브라이언(oopchoi : 최성훈) 형에게 전화를 해서 책도 한권 사서 건내주면서 말했다.

아무것도 하지말고 이것만 열심히 해.

라고 한마디 했을 뿐인데, 이것이 나한테까지 여파가 올 줄은 꿈에도 몰랐다. Actionscript 때문에 나한테 물어봐서 알려주다 보니 조금씩 Flex에 대해서 알게 되었다. 그리고 코딩을 짜기 시작했다. ㅡㅡ;

아래의 코드는 서이니와 같이 만든 구구단이다. 컴포넌트와 연결되는 Actionscript 부분을 공부하면서 만들었다. 몇가지 포인트적인 규칙이 있는데 그것만 간파하면 코딩은 우선 할 수 있을 듯. Flash Actionscript와 마찬가지로 수 많은 컴포넌트와 프로퍼티 그리고 스타일들… 압박이다. ㅎㅎ

하지만 속으로 들어가면 더욱더 어려울 것이라는 생각. 역시나 Actionscript만 하다 보니 컴포넌트를 배치(디자인 패널)하고 작업하는 것보다 직접적으로 스크립트로 제어하는게 편하다. 서이니는 익숙해진 디자인 패널을 사용하다 코드로만 만들다 보니 조금 불편해 하였다. 익숙해 지면 틀에서 벗어나는 코딩을 할 수 있을꺼라는 말을 해주었다.

서이니와 함께 하는 것이 오랜만이라서 의견 충돌이 좀 있었다. 하지만 같은 생각으로 무엇인가를 한다는 것에 행복감을 오랜만에 느껴봤다.

“무엇이든 안 어렵겠냐만은 시작을 하고 끝을 보면 무엇이든지 쉬운것 아니겠는가!”

View HTML Source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
	layout="absolute" 
	creationComplete="createNineByNine()">
 
	<mx:Script>
		<![CDATA[
			import mx.controls.DataGrid;
			import mx.collections.ArrayCollection;
			import mx.controls.dataGridClasses.DataGridColumn;
 
			private function createNineByNine():void
			{
				var dg:DataGrid = new DataGrid();
                		var ac:ArrayCollection= new ArrayCollection();
                		var ctg:Array = new Array();
              			var dgC:DataGridColumn;
				var acObj:Object;
 
                		dg.rowCount=9;
				dg.dataProvider=ac;
 
               			for(var col:int=2; col<=10; col++)
               			{
           				dgC = new DataGridColumn();
                			dgC.setStyle("textAlign","center");
                			acObj = new Object();
 
                			if(col<10)
                			{
                				dgC.headerText=col+"단";
                				dgC.dataField="data"+String(col);
                				ctg.push(dgC);
                			}
 
                			for(var row:int=2; row<10; row++)
               				{
               					acObj["data"+row] =
						row + "*" + (col-1) + "=" +row*(col-1);
                			}
 
              				ac.addItem(acObj)	
                		}                
                		dg.columns=ctg;
 
               			this.addChild(dg);
            		}
		]]>
	</mx:Script>
 
</mx:Application>