본문 바로가기

ETC Programmings

Controls : 다양한 컨트롤 들을 사용하기 + @Embed() 사용시 주의사항

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

		
		
		
		
		
		
		
		
		
		
		
		
	

Lesson 4 에서는 컨트롤 사용에 대해서 더 배워보는 곳이다. 이곳에서는 Boundary 용도로 사용했던 Layout 보다는 Control 들이 많이 등장한다.
Spacer, DateField, RadioButton과같은 컨트롤들이 그 예다. 컨트롤 들은 저마다 기능들을 가지고 있는데 그중 가장 신기했던건 바로 DateField 컨트롤이다. Javascript jQuery 라이브러리에서 봤던 그 DateField와 아주 흡사했다. 어느 한쪽이 먼저 만들었는지는 모르겠지만 아주 유용한 것임에는 틀림없다.

이 소스에는 없지만 아래와 같이 이미지를 표현하는 컨트롤이 있다.



여기에서는 새로운 attribute 값이 반견되었다. scaleContent 라던가 source 라던가 mouseOver, mouseOut 같은 것들이다. 각각 컨트롤마다 속성값들이 다 정의가 되어있기 때문에 다 하나하나 직접 찾아보고 사용해보면서 익힐 필요가 있다. 그런 내용들은 API 를 통해 알아 볼수 있다.

source는 HTML 의 img 태그의 src 속성과 같다. 절대경로든 상대경로든 해당 이미지의 파일이 위치한 곳의 경로를 말한다. 그런데 위의 소스에서 살펴보면 @Embed() 라는 부분이 인상적인데 이것은 해당 이미지 파일을 SWF 파일 내에 담아버리는 명령어이다. Embed 의 사전적 의미와 비슷한 기능을 한다. 이전에 MEDINFO 를 제작하면서 Embed 를 많이 사용하였는데.. 특히 스타일을 위한 폰트를 Embed 하는데 좀 많이 투자를 했다. 결국 파일크기가 5~7메가를 육박할 정도로 거대해 졌고 로딩하는데 시간이 엄청 걸렸다.

실제 교재에서도 이런점을 경고하고 있다. 직접 이미지나 폰트와 같은 외부 데이터들을 담고 있기 때문에 해당 데이터에 대한 접근성은 높아지지만 용량이 커지는 문제도 있고 오프라인용 어플리케이션의 경우에 많이 사용한다고 한다. 웹사이트나 온라인 어플리케이션이라면 필히 Embed는 선택적으로 사용하여야 겠다. 개발자 측면에서도 변화가 일어나는 부분은 지양하고 바뀌지 않는 부분에 대해서면 성능에 영향을 미치지 않는 선에서 사용해야겠다.