<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ITberre &#187; IT</title>
	<atom:link href="http://blog.saberre.kr/category/it/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.saberre.kr</link>
	<description>One of IT blogs in the world</description>
	<lastBuildDate>Fri, 27 Aug 2010 14:41:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>코딩 스타일만 바꿔도 버그는 금방 잡는다!</title>
		<link>http://blog.saberre.kr/332/</link>
		<comments>http://blog.saberre.kr/332/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 04:00:21 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[코딩]]></category>
		<category><![CDATA[코딩 스타일]]></category>
		<category><![CDATA[프로그래밍]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=332</guid>
		<description><![CDATA[안녕하세요 ^^ 두번째 강좌로 다시 찾아뵙는 사베르입니다. 이번 강의는 좀 이론적인 것으로 들어가봅시다. 액션스크립트를 코딩하고 나면 어떤 분들은 버그를 금방 잡는데, 자기는 찾아도 찾아도 보이지 않는 경우가 있지요? 물론 자신의 능력 부족이나 오개념으로 인한 것일 수도 있지만, 코딩 스타일이 나빠서 자신이 쓴 코드를 자신이 읽지 못하게 되는 경우가 있습니다. 저도 프로그래밍을 처음 배울 때 코딩 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F332%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F332%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p>안녕하세요 ^^ 두번째 강좌로 다시 찾아뵙는 사베르입니다.</p>
<p>이번 강의는 좀 이론적인 것으로 들어가봅시다.</p>
<p>액션스크립트를 코딩하고 나면 어떤 분들은 버그를 금방 잡는데, 자기는 찾아도 찾아도 보이지 않는 경우가 있지요? 물론 자신의 능력 부족이나 오개념으로 인한 것일 수도 있지만, 코딩 스타일이 나빠서 자신이 쓴 코드를 자신이 읽지 못하게 되는 경우가 있습니다. 저도 프로그래밍을 처음 배울 때 코딩 스타일이 나빠서 이런 일이 많이 있었습니다 <img src='http://blog.saberre.kr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>제가 말씀드리고 싶은 몇 가지 코딩 스타일에 대해서 말씀드리도록 하겠습니다.<span id="more-332"></span></p>
<h3>1. 각종 연산자를 사용할 때</h3>
<p>연산자는 정말 안쓰이는 경우가 없지요. 그만큼 스크립트에는 많은 양의 연산자가 들어가기 마련입니다. 그런데 항이 두개가 필요한 이항연산자 같은 경우에는 코딩 시에 약간 주의해 주시는 편이 좋습니다. 예를 들어보겠습니다.</p>
<p><code>(1) shiftpoint=post_cnt+comment_cnt+event_point;<br />
(2) shiftpoint = post_cnt + comment_cnt + event_point;</code></p>
<p>위의 (1)과 (2) 중에서 어떤 코드가 더 읽기 쉽습니까? (2)의 경우 연산자 앞뒤가 공백으로 띄어쓰기 되어 있어서 어떤 것이 연산자고 피연산자인지 알아채기가 쉽습니다. (1)과 (2)는 짧은 코드이기에 차이가 별로 느껴지지 않지만, 많은 코드 및 긴 코드를 작성하게 되는 경우 (2)의 경우가 읽기 편하다는 것을 뼈저리게 느끼실 겁니다.</p>
<h3>2. 변수 및 함수명 등을 지을 때</h3>
<p>연산자와 마찬가지로 변수와 함수도 항상 쓰입니다. 그런데 이름을 막 지어서 나중에 자신도 알아보지 못할 정도가 되면 안되겠지요? 변수 이름을 지을 땐 다음과 같이 하면 읽기도 좋고 남이 보기에도 깔끔해서 좋습니다.</p>
<ul>
<li>변수 및 함수명에는 이 변수가 어떤 값을 담고 있는지, 또는 이 함수가 어떤 일을 하는지 대략적으로 알 수 있도록 지어줍니다.
<ul>
<li>ex) 합을 저장하는 변수: sum, 게임에서 점수를 저장하는 변수: gameScore</li>
<li>ex2) 초기화 함수: Initialize, 특정 문자열을 찾는 함수: findString</li>
</ul>
</li>
<li>이름을 낙타식(각 단어의 맨 앞을 대문자로) 또는 언더바(_)를 사용하여 만듭니다.
<ul>
<li>ex) 게임에서 점수를 저장하는 변수: gamescore (x) -&gt; gameScore 또는 game_score</li>
<li>ex2) 특정 문자열을 찾는 함수: findstring(x) -&gt; findString 또는 find_string</li>
</ul>
</li>
<li>이름은 영어로 작성합니다. 한글로 작성할 경우 한국 사람이 보기에는 좋지만 외국에서는 볼 수 없으며 한글 변수의 경우 아주 가끔 버그를 발생시키는 경우도 있습니다. 되도록이면 영어로 작성합시다. (특히 특수문자는 쓰지 맙시다!)</li>
<li>(선택사항) 변수 맨 앞에 이 변수가 어떤 형식인지 알려줍시다.
<ul>
<li>ex) 숫자 값인 게임 점수를 담는 변수: nGameScore (n은 Number의 맨 앞글자입니다)</li>
<li>ex2) 사용자의 유저네임을 담는 변수: sUsername (s는 String의 맨 앞글자입니다)</li>
</ul>
</li>
</ul>
<p>이 외에도 많은 방법들이 있는데, 제보해주시면 감사하겠습니다. 저는 이 정도면 충분하다고 생각합니다.</p>
<h3>3. ,(콤마)를 쓸 때</h3>
<p>콤마는 주로 함수에 매개 변수를 쓸 때 많이 사용합니다. 아래 예를 봅시다.</p>
<p><code>(1) var cmi:ContextMenuItem = new ContextMenuItem("Shift",true,true,true);<br />
(2) var cmi:ContextMenuItem = new ContextMenuItem("Shift", true, true, true);</code></p>
<p>(2)의 경우 각각의 매개 변수 구분이 잘 됩니다. 콤마의 경우 위의 예처럼 띄어써도 별로 차이가 느껴지지 않는 부분입니다만 익숙해지면 코드의 가독성을 높이는 좋은 방법입니다.</p>
<h3>4. 중괄호를 쓸 때</h3>
<p>함수 뿐만 아니라 if, for, while 같은 조건문을 쓸 때에 필요한 중괄호. 가끔씩 생략을 해도 되는 경우가 있는데 생략을 해주지 않는 편이 좋습니다. 아래를 보시죠</p>
<p>예 (1)<br />
<code>for(i=0;i&lt;10;i++)<br />
    for(j=0;j&lt;10;j++)<br />
        if(a[i] == a[j])<br />
            trace("same");</code></p>
<p>예 (2)<br />
<code>for(i=0;i&lt;10;i++) {<br />
    for(j=0;j&lt;10;j++) {<br />
        if(a[i] == a[j]) {<br />
            trace("same");<br />
        }<br />
    }<br />
}</code></p>
<p>사실 (1)처럼 어떤 조건문 및 반복문 등에서 괄호를 쓰지 않아도 바로 아래에 있는 한 줄을 무조건 실행하게 됩니다. 하지만 (1)처럼 여러 개를 쓰게 되는 경우 보기 힘들어지는 경우가 생기며 프로그래머가 소스를 수정하다가 괄호를 추가하지 않는 실수를 하여 프로그램이 오작동(컴파일 오류 등이 아닌 프로그래머에 의한 원치 않는 결과 발생)이 발생하게 됩니다. 한 줄을 실행하더라도 (2)처럼 항상 괄호를 사용합시다.</p>
<p>괄호 스타일에는 대중적인 스타일이 두 가지가 있습니다.</p>
<p>방법 (1)<br />
<code>for(i=0;i&lt;10;i++) {<br />
}</code></p>
<p>방법 (2)<br />
<code>for(i=0;i&lt;10;i++)<br />
{<br />
}</code></p>
<p>저는 (1)을 사용하는 데, Microsoft Visual Studio (마이크로소프트의 IDE) 에서는 자동으로 (2)로 바꿔버리더라구요. 여러분의 취향에 맞게 사용하시면 될 것 같습니다. (개인적으로 (2)가 더 좋다고 생각하지만, 이미 (1)이 손에 익어버렸습니다 ^^;; )</p>
<h3>5. 복잡한 수식을 사용할 때</h3>
<p>가끔식 물리 관련 수식을 사용한다던가 할 때에는 수식이 복잡해질 때가 있습니다. 아래 예를 봅시다.</p>
<p><code>(1) nHeight = initSpeed * nTime + fGravity * Math.pow(nTime, 2) / 2;<br />
(2) nHeight = (initSpeed * nTime) + (fGravity * Math.pow(nTime, 2) / 2);</code></p>
<p>(2)가 더 보기 쉽죠? 사칙연산 순서를 모르는 사람은 거의 없을 겁니다. 플래시도 수식을 계산할 때 연산자 순서를 지킵니다. 하지만 코드의 가독성을 높이기 위해서 자동으로 먼저 계산되는 수식이라도 꼭 괄호를 사용해서 묶어주면 사람이 보기에 어떤 순서로 계산되는지 쉽게 알 수 있습니다. (참고로 위의 예는 역학 관련 식입니다. 중력에서 시간에 따른 높이를 나타내는 식이지요 <img src='http://blog.saberre.kr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>부족한 지식이지만 도움이 되었으면 싶어서 이렇게 강좌를 작성했습니다. 위의 내용이 절대로 코딩 스타일의 전부는 아닙니다. 코딩 스타일은 개인의 개성이 담긴 것으로써 저는 모든 사람들이 아주 조금의 차이도 없이 같은 코딩 스타일을 갖는 것은 원치 않습니다. 단지 코드의 가독성을 높이기 위한 노력의 일환으로 위의 내용을 실천해보자는 것입니다. 위의 내용 말고도 더 좋은 방법이 있을 수 있습니다.</p>
<p>제가 빼먹었다고 생각하시는 내용이나 더 좋은 방법이 있으면 꼭 댓글 달아주시기 바랍니다.</p>
<p>다음에 더 좋은 강좌로 찾아뵙겠습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/332/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>About ContextMenu in AS3.0 &#8211; 3</title>
		<link>http://blog.saberre.kr/311/</link>
		<comments>http://blog.saberre.kr/311/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 20:09:27 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[ContextMenu]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[액션스크립트]]></category>
		<category><![CDATA[플래시]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=311</guid>
		<description><![CDATA[3부에서는 지난 번에 이어서 그래픽 객체 별로 다른 메뉴를 띄워보는 것을 해보겠습니다. 우선 예제와 소스코드를 구경해보세요. 오늘 예제는 fla 파일도 첨부하니 다운받아서 보셔도 좋습니다. 클릭하면 크게 볼 수 있습니다. 2부와 소스코드가 다를 게 없어보이지만&#8230;;;; 오늘 중점적으로 설명할 것은 20~22줄 입니다. ContextMenu 를 Attach 하는 부분이 세 곳이나 되죠? contextMenu 속성을 가진 객체라면 무엇이든 커스텀 메뉴를 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F311%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F311%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p>3부에서는 지난 번에 이어서 그래픽 객체 별로 다른 메뉴를 띄워보는 것을 해보겠습니다. 우선 예제와 소스코드를 구경해보세요. 오늘 예제는 fla 파일도 첨부하니 다운받아서 보셔도 좋습니다.</p>
<p style="text-align: center;"><object width="200" height="100" data="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial3.swf" type="application/x-shockwave-flash"><param name="src" value="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial3.swf" /></object></p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_315" class="wp-caption aligncenter" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial3.png" rel="shadowbox[post-311];player=img;" title="ContextMenu Tutorial 3"><img class="size-medium wp-image-315" title="ContextMenu Tutorial 3" src="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial3-300x262.png" alt="ContextMenu Tutorial 3" width="300" height="262" /></a></dt>
<dd class="wp-caption-dd">클릭하면 크게 볼 수 있습니다.</dd>
</dl>
</div>
<p><span id="more-311"></span></p>
<p style="text-align: center;"><a href="http://blog.saberre.kr/download/contextmenututorial3.fla" title="Download ContextMenu Tutorial 3 Example FLA File (1 MB)"><img src="http://blog.saberre.kr/wp-content/plugins/download-monitor/img/download.gif" /> <br />ContextMenu Tutorial 3 Example FLA File (1 MB)</a></p>
<p>2부와 소스코드가 다를 게 없어보이지만&#8230;;;;</p>
<p>오늘 중점적으로 설명할 것은 20~22줄 입니다.</p>
<p>ContextMenu 를 Attach 하는 부분이 세 곳이나 되죠?</p>
<p>contextMenu 속성을 가진 객체라면 무엇이든 커스텀 메뉴를 작성할 수 있습니다. 그런데 contextMenu 는 어떤 객체가 가지고 있을까요? Adobe 도움말을 보면 InteractiveObject 라는 클래스에 contextMenu 속성이 정의되어 있습니다.</p>
<p>InteractiveObject 클래스는 사용자가 마우스와 키보드를 사용하여 상호 작용할 수 있는 모든 표시 객체의 추상 기본 클래스입니다.</p>
<p>라고 Adobe 도움말에 나와있습니다. 거의 모든 객체가 해당된다고 보시면 될겁니다. 즉, 커스텀 메뉴는 거의 모든 객체에 작성할 수 있다는 뜻이지요! 와우!</p>
<p>제가 예제에 넣어둔 버튼과 체크박스도 모두 InteractiveObject 클래스를 상속하기 때문에 커스텀 메뉴를 작성할 수 있었습니다. 이 외에도 Sprite, TextField, MovieClip 등이 InteractiveObject 클래스를 상속합니다.</p>
<p>이번 강좌는 매우 짧은데 오른쪽 메뉴 컨트롤이 필요한 부분이라면 어디서든지 이용할 수 있다는 것을 알려드리는 정말 중요한 강좌라고 생각됩니다.</p>
<p>특히 RPG 게임 같은 경우에도 오른쪽 버튼 메뉴가 자주 쓰이는데 플래시로 RPG 게임을 만들 시에 유용하게 쓰일 수 있을 것입니다.</p>
<p>ContextMenu 강좌는 여기까지구요. 다음에 다른 강좌로 찾아뵙겠습니다 ^^</p>
<p>1부 바로가기: <a href="http://blog.saberre.kr/265/">http://blog.saberre.kr/265/</a><br />
2부 바로가기: <a href="http://blog.saberre.kr/296/">http://blog.saberre.kr/296/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/311/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>About ContextMenu in AS3.0 &#8211; 2</title>
		<link>http://blog.saberre.kr/296/</link>
		<comments>http://blog.saberre.kr/296/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 19:24:49 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[ContextMenu]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[액션스크립트]]></category>
		<category><![CDATA[플래시]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=296</guid>
		<description><![CDATA[안녕하세요 ^^ 2부에서는 ContextMenu 를 활용해보도록 하겠습니다. 오늘은 제가 예제로 만든 소스코드를 보고 한 줄마다 설명해드리도록 하겠습니다. 길어보이지만 별거 아닌 소스입니다. 위 소스코드를 실행해보면 아래와 같은 예제가 나옵니다. 아주 심플한 기능만을 수행합니다. 자 이제 한 줄 한 줄 살펴볼텐데요. 1부에 설명했던 코드는 그냥 넘어가도록 하겠습니다. 1부를 읽지 않으신 분은 먼저 읽어주세요. 1부 바로가기: http://blog.saberre.kr/265/ 7번째 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F296%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F296%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p>안녕하세요 ^^ 2부에서는 ContextMenu 를 활용해보도록 하겠습니다.</p>
<p>오늘은 제가 예제로 만든 소스코드를 보고 한 줄마다 설명해드리도록 하겠습니다.</p>
<div id="attachment_297" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial2.png" rel="shadowbox[post-296];player=img;" title="ContextMenu Tutorial2"><img class="size-medium wp-image-297" title="ContextMenu Tutorial2" src="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial2-300x147.png" alt="ContextMenu Tutorial2" width="300" height="147" /></a><p class="wp-caption-text">클릭하면 크게 볼 수 있습니다.</p></div>
<p>길어보이지만 별거 아닌 소스입니다. 위 소스코드를 실행해보면 아래와 같은 예제가 나옵니다.</p>
<p style="text-align: center;"><a href="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial2.swf" rel="shadowbox[post-296];width=640;height=385;"><object width="100" height="100" data="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial2.swf" type="application/x-shockwave-flash"><param name="src" value="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial2.swf" /></object></a></p>
<p>아주 심플한 기능만을 수행합니다. 자 이제 한 줄 한 줄 살펴볼텐데요. 1부에 설명했던 코드는 그냥 넘어가도록 하겠습니다. 1부를 읽지 않으신 분은 먼저 읽어주세요.</p>
<p>1부 바로가기: <a href="http://blog.saberre.kr/265/">http://blog.saberre.kr/265/</a> <span id="more-296"></span></p>
<p>7번째 줄을 먼저 살펴봅시다.</p>
<pre lang="actionscript3">cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, test_select);</pre>
<p>이게 무엇을 뜻할까요? 아마도 &#8220;구분선 만들기&#8221; 메뉴 아이템에 대한 것 같은데&#8230;&#8230;.</p>
<p>addEventListener 메소드는 아시죠? 어떤 이벤트가 발생했을 때 어떤 함수가 실행되도록 하라고 이벤트 처리 목록에 추가하는 메소드입니다.</p>
<p>새로 등장한 ContextMenuEvent와 MENU_ITEM_SELECT 에 대해서 살펴봅시다.</p>
<p>메뉴 아이템을 클릭하면 menuItemSelect 이벤트가 발생하는데요. 이 이벤트에 대해서 살펴봅시다.</p>
<p><span style="font-size: medium;"><strong>menuItemSelect</strong> 이벤트<br />
</span>속성 ContextMenuEvent.type = flash.events.ContextMenuEvent.MENU_ITEM_SELECT<br />
사용자가 컨텍스트 메뉴에서 항목을 선택할 때 전달됩니다. 사용자는 포인팅 장치의 보조 버튼을 클릭하여 컨텍스트 메뉴를 생성합니다.<br />
Ref: <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html#event:menuItemSelect">http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html#event:menuItemSelect</a></p>
<p><span style="font-size: medium;"><strong>MENU_ITEM_SELECT</strong> 상수<br />
</span>public static const MENU_ITEM_SELECT:String = &#8220;menuItemSelect&#8221;<br />
Ref: <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/events/ContextMenuEvent.html#MENU_ITEM_SELECT">http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/events/ContextMenuEvent.html#MENU_ITEM_SELECT</a></p>
<p>따라서 우리가 위처럼 addEventListener 메서드를 통해서 메뉴 아이템이 선택되었을 때 menuItemSelect 이벤트가 발생하는 것을 감지하여 함수가 실행될 수 있도록 하는 것입니다.</p>
<p>따라서 어떤 메뉴 아이템이 선택되었을 때 함수가 실행되도록 하려면</p>
<pre lang="actionscript3">(ContextMenuItem 객체).addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, (Function 객체));</pre>
<p>위 처럼 코드를 작성하면 됩니다.</p>
<p>11~19줄은 이벤트가 발생하였을 때 실행되는 함수입니다.</p>
<p>11줄에서 함수에 꼭! 이벤트를 받는 매개 변수를 넣어주셔야 합니다. 들어오는 이벤트 객체는 ContextMenuEvent 이니 매개 변수로 받아주시면 됩니다.</p>
<p>12줄에서 if 안에 조건문에 들어있는 separatorBefore 속성. 어디서 많이 보지 않으셨나요? (못보셨다면 1부에서 ContextMenuItem 생성자 부분을 참조하세요)</p>
<p>네, 바로 구분선을 추가할지 말지 결정하는 속성입니다. 이 속성에 대해서 Adobe 도움말을 살펴봅시다.</p>
<p><span style="font-size: medium;"><strong>separatorBefore</strong> 속성<br />
</span>separatorBefore:Boolean<br />
지정된 메뉴 항목 위에 구분 표시줄을 표시할지 여부를 나타냅니다. 기본값은 false 입니다.<br />
Ref: <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html#separatorBefore">http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html#separatorBefore</a></p>
<p>그리고 14줄에는 caption 이라는 속성도 보입니다. 역시 Adobe 도움말을 살펴봅시다.</p>
<p><span style="font-size: medium;"><strong>caption</strong> 속성<br />
</span>caption:String<br />
컨텍스트 메뉴에 표시될 메뉴 항목 캡션 텍스트를 지정합니다. caption 값에 대한 제한 사항은 ContextMenuItem 클래스 개요를 참조하십시오.<br />
Ref: <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html#caption">http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html#caption</a></p>
<p>바로 메뉴에 보여질 메뉴 아이템의 캡션 텍스트를 가지고 있는 속성입니다. 이를 수정하면 메뉴를 바꿀 수 있습니다.</p>
<p>이제 소스 코드 이해가 다 되셨나요?</p>
<p>어&#8230; 아직 안되셨다구요? 어디가요?</p>
<p>이미 메뉴 아이템은 ContextMenu 에 포함되었고 ContextMenu 는 메인에 Attach 되었는데 수정해도 되냐구요?</p>
<p>물론 됩니다! 우리가 push 를 통해서 ContextMenuItem 객체를 포함시켰는데 이는 객체를 복사해서 넣는 것이 아니라 단지 &#8216;연결&#8217; 시키는 것 뿐입니다. 따라서 연결된 ContextMenuItem 객체를 편집해도 수정된 내용이 실시간으로 반영됩니다.</p>
<p>그리고 ContextMenu 객체 역시 메인에 연결시킨 것이기 때문에 수정해도 실시간으로 반영됩니다.</p>
<p>이해가 되셨나요?</p>
<p>3부에서는 객체별로 다른 ContextMenu 를 띄워보도록 하겠습니다.</p>
<p>3부 바로가기: <a href="http://blog.saberre.kr/311/">http://blog.saberre.kr/311/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/296/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>About ContextMenu in AS3.0 &#8211; 1</title>
		<link>http://blog.saberre.kr/265/</link>
		<comments>http://blog.saberre.kr/265/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 14:41:54 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[ContextMenu]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[액션스크립트]]></category>
		<category><![CDATA[플래시]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=265</guid>
		<description><![CDATA[(이 강의는 필자가 오른쪽 커스텀 메뉴 관련 강의를 찾던 중 도저히 찾을 수 없어서 레퍼런스, 도움말 뒤져가면서 알아낸 정보를 바탕으로 이루어졌습니다. 부디 이 강의가 도움이 되길 바랍니다.) 안녕하세요 ^^ 제가 알려드리고 싶은 내용은 AS3.0 에서 ContextMenu 를 다뤄보자는 것입니다. 아마도 빠진 내용이 많을텐데 댓글로 태클 감사히 받겠습니다. 우선 Adobe 도움말에 나온 ContextMenu 에 대한 설명부터 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F265%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F265%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p><span style="font-family: 굴림;">(이 강의는 필자가 오른쪽 커스텀 메뉴 관련 강의를 찾던 중 도저히 찾을 수 없어서 레퍼런스, 도움말 뒤져가면서 알아낸 정보를 바탕으로 이루어졌습니다. 부디 이 강의가 도움이 되길 바랍니다.)</span> <span style="font-family: 굴림;">안녕하세요 ^^</span> <span style="font-family: 굴림;">제가 알려드리고 싶은 내용은 AS3.0 에서 ContextMenu 를 다뤄보자는 것입니다. 아마도 빠진 내용이 많을텐데 댓글로 태클 감사히 받겠습니다.</span> <span style="font-family: 굴림;">우선 Adobe 도움말에 나온 ContextMenu 에 대한 설명부터 볼까요?</span> <span style="font-size: 12pt; font-family: 2186745_12;"><strong> </strong></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><strong><span style="font-family: 굴림;">ContextMenu </span></strong></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">ContextMenu 클래스를 통해 Flash Player 컨텍스트 메뉴의 항목을 제어할 수 있습니다. 사용자가 Flash Player에서 마우스 오른쪽 버튼을 클릭하거나(Windows) Control 키를 누른 상태에서 클릭하면(Macintosh) 컨텍스트 메뉴가 열립니다. ContextMenu 클래스의 메서드 및 속성을 사용하여 사용자 정의 메뉴 항목을 추가하고 내장 컨텍스트 메뉴 항목(예: 확대 및 인쇄)의 표시 방법을 제어하거나 메뉴의 복사본을 만들 수 있습니다. </span></span></span><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">Ref: <a href="http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenu.html" target="_blank"><span style="font-family: 굴림;">http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenu.html</span></a></span></span></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">뭔 소리인지 모르겠지요? 이제부터 쉽게 알아봅시다.</span></span></span><span id="more-265"></span> <span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">ContextMenu 란 플래시에서 오른쪽 버튼을 누르면 나타나는 메뉴를 뜻합니다. 이 메뉴를 편집하여 다양하게 활용할 수 있는데요.(아쉽게도 설정과 Adobe Flash Player XX 정보 는 지울 수 없습니다.)</span></span></span> <span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">우선 ContextMenu 를 생성하는 방법부터 살펴봅시다.</span></span></span><br />
[as3]var cm:ContextMenu = new ContextMenu();[/as3]<br />
<span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">cm 이라는 ContextMenu 형식의 변수를 만들고 새로운 ContextMenu 개체를 생성합니다. 생성 시에 따로 들어가는 인수는 없습니다.</span></span></span> <span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 9pt; font-family: 굴림;">그러면 기존에 있던 메뉴는 어떻게 삭제할까요? 아주 쉬운 메서드가 하나 존재합니다. 바로 hideBuiltInItems 인데요. Adobe 도움말을 살펴봅시다.</span></span></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><strong><span style="font-size: 12pt; font-family: 굴림;">hideBuiltInItems() 메서드 </span></strong></span></span></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><strong> </strong></span></span></span><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 굴림;">public function hideBuiltInItems():void </span></span></span></span></p>
<p><span style="font-size: 9pt; font-family: 굴림;">지정된 ContextMenu 객체에서 [설정]을 제외한 모든 내장 메뉴 항목을 숨깁니다. 디버거 버전의 Flash Player를 실행하는 경우에는 [디버깅] 메뉴 항목이 표시됩니다. SWF 파일에서 원격 디버깅을 사용하지 않는 경우에는 이 항목이 흐리게 표시됩니다. </span></p>
<p><span style="font-size: 9pt; font-family: 굴림;">Ref: </span><a href="http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenu.html#hideBuiltInItems()" target="_blank"><span style="font-size: 9pt; font-family: 굴림;">http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenu.html#hideBuiltInItems()</span></a></p>
<p><span style="font-family: 굴림;">기본 내장 메뉴 항목을 숨기는 아주 편리한 메서드입니다. 사용 방법도 간단합니다.</span><br />
[as3]cm.hideBuiltInItems();[/as3]<br />
<span style="font-family: 굴림;">한 줄로 간단하게 끝납니다.</span> <span style="font-family: 굴림;">자, 필요없는 메뉴를 지웠으니 이제 나만의 메뉴를 추가해야겠죠?</span> <span style="font-family: 굴림;">그런데 한 가지 더 알아야 할 것이 있습니다. 바로 ContextMenuItem 인데요. Adobe 도움말을 또 살펴봅시다.</span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><strong><span style="font-family: 굴림;">ContextMenuItem </span></strong></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><strong></strong></span><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 굴림;">ContextMenuItem 클래스를 사용하면 Flash Player 컨텍스트 메뉴에 표시할 사용자 정의 메뉴 항목을 만들 수 있습니다. 각 ContextMenuItem 객체에는 컨텍스트 메뉴에 표시되는 텍스트 캡션이 있습니다. 컨텍스트 메뉴에 새 항목을 추가하려면 이를 ContextMenu 객체의 customItems 배열에 추가합니다.</span></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 굴림;"> </span></span><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 굴림;">Ref: <a href="http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenuItem.html" target="_blank"><span style="font-family: 굴림;">http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenuItem.html</span></a></span></span></p>
<p><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 굴림;">앗, 그런데 여기에 몇 가지 제한이 있군요!</span></span></p>
<ul>
<li style="font-size: 9pt; font-family: 굴림;"><span><span>컨텍스트 메뉴에 사용자 정의 항목을 15개까지 추가할 수 있습니다.</span></span><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 2186745_9;"> </span></span></li>
<li style="font-size: 9pt; font-family: 굴림;">각 캡션에는 표시 가능한 문자가 하나 이상 있어야 합니다.</li>
<li style="font-size: 9pt; font-family: 굴림;">제어 문자, 개행 문자 및 기타 공백 문자는 무시됩니다.</li>
<li style="font-size: 9pt; font-family: 굴림;">캡션에는 최대 100자까지만 입력할 수 있습니다.</li>
<li style="font-size: 9pt; font-family: 굴림;">내장 메뉴 항목 또는 다른 사용자 정의 항목과 동일한 캡션은 일치하는 항목의 표시 여부와 관계없이 무시됩니다. 메뉴 캡션은 대/소문자, 문장 부호 또는 공백을 고려하지 않고 내장 캡션 또는 기존의 사용자 정의 캡션과 비교됩니다.</li>
<li style="font-size: 9pt; font-family: 굴림;">다음 캡션은 개별적으로 사용할 수 없지만 다른 단어와 결합하여 사용자 정의 캡션을 구성할 수는 있습니다. 예를 들어 &#8220;Paste&#8221;는 사용할 수 없지만 &#8220;Paste tastes great&#8221;는 사용할 수 있습니다.
<ul>
<li style="font-size: 9pt; font-family: 굴림;">(위의 ContextMenuItem 도움말 링크 참조)</li>
</ul>
</li>
<li style="font-size: 9pt; font-family: 굴림;">다음 단어는 사용자 정의 캡션에 단독으로 사용할 수 없을 뿐만 아니라 다른 단어와 결합하여 사용할 수도 없습니다.
<ul>
<li style="font-size: 9pt; font-family: 굴림;">(역시 참조)</li>
</ul>
</li>
</ul>
<p><span style="font-family: 굴림;">꽤 제한이 많군요..;;</span> <span style="font-family: 굴림;">그러면 이 개체는 어떻게 생성할까요?</span><br />
[as3]var cmi:ContextMenuItem = new ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true);[/as3]<br />
<span style="font-family: 굴림;">생성자에 들어가는 매개 변수를 하나하나 살펴봅시다.</span></p>
<ul>
<li style="font-size: 9pt; font-family: 굴림;">caption: 문자열 값을 넣어줍니다. 메뉴 항목에 연결된 텍스트를 지정합니다. caption 값에 대한 제한 사항은 ContextMenuItem 클래스 개요를 참조하십시오.</li>
<li style="font-size: 9pt; font-family: 굴림;">separatorBefore (기본값 false): 부울 값을 넣어줍니다. 컨텍스트 메뉴에서 메뉴 항목 위에 구분 표시줄을 표시할지 여부를 지정합니다. 기본값은 false입니다.</li>
<li style="font-size: 9pt; font-family: 굴림;">enabled (기본값 true): 부울 값을 넣어줍니다. 컨텍스트 메뉴에서 메뉴 항목의 활성화 여부를 지정합니다. 기본값은 메뉴 항목을 활성화하는 true입니다. 이 매개 변수는 선택적입니다.</li>
<li style="font-size: 9pt; font-family: 굴림;">visible (기본값 true): 부울 값을 넣어줍니다. 메뉴 항목의 표시 여부를 지정합니다. 기본값은 메뉴 항목을 표시하는 true입니다.</li>
</ul>
<p><span style="font-family: 굴림;">이 중에서 caption 만 필수로 넣어주면 되구요, 나머지 세 매개 변수는 필요에 따라서 사용해주시면 됩니다. 물론 여기서 설정하는 네 개의 매개 변수는 나중에 바꿀 수도 있습니다.</span> <span style="font-family: 굴림;">예를 들어서 ContextMenuItem 객체를 생성해보겠습니다. &#8220;Shift&#8221; 라는 메뉴 아이템을 만들고 싶다면</span><br />
[as3]var cmi:ContextMenuItem = new ContextMenuItem(&#8220;Shift&#8221;);[/as3]<br />
<span style="font-family: 굴림;">위와 같이 해주면 되구요. 메뉴 아이템을 두개 이상 만들 때 Shift 위에 구분선을 두고 싶다면</span><br />
[as3]var cmi:ContextMenuItem = new ContextMenuItem(&#8220;Shift&#8221;, true);[/as3]<br />
<span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 굴림;">위와 같이 해주면 됩니다. 대신 구분선을 넣을 아이템은 최소한 두번째 또는 그 아래에 위치해야 구분선이 나타나니 순서에 주의하시기 바랍니다.</span></span> <span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 굴림;">그러면 이렇게 만든 아이템을 ContextMenu 에 포함시켜 보겠습니다. (ContextMenu 가 ContextMenuItem 들을 포함합니다)</span></span> <span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 굴림;">여기서 필요한 ContextMenu의 속성이 customItems 입니다.</span></span> <span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><strong></strong></span></span></span></p>
<p><span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><strong><span style="font-family: 굴림;">customItems 속성 </span></strong></span></span></span></p>
<p><span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 굴림;">customItems: Array(배열)</span></span></span></span></p>
<p><span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 9pt; font-family: 굴림;">ContextMenuItem 객체의 배열입니다. 배열 내의 각 객체는 사용자가 정의한 컨텍스트 메뉴 항목을 나타냅니다. 이 속성을 사용하여 사용자 정의 메뉴 항목을 추가, 삭제 또는 수정할 수 있습니다. </span></span></span></span></p>
<p><span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">Ref: <a href="http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenu.html#customItems" target="_blank"><span style="font-family: 굴림;">http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/ContextMenu.html#customItems</span></a></span></span></span></span></span></p>
<p><span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">그러면 이제 포함시켜 보겠습니다.</span></span></span></span></span><br />
[as3]cm.customItems.push(cmi);[/as3]<br />
<span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">정말 간단하죠? 다들 잘 알고있는 push 메서드를 이용해서 배열에 추가해주기만 하면 됩니다. 여러 개를 추가하고 싶다면</span></span></span></span></span><br />
[as3]cm.customItems.push(cmi,cmi2,&#8230;);[/as3]<br />
<span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">인수를 쭉 늘려주시면 됩니다.</span></span></span></span></span> <span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">이제 ContextMenu 객체에 메뉴 아이템을 추가했습니다. 그런데 이 상태에서 Ctrl+Enter 를 눌러서 무비를 실행하더라도 메뉴는 그대로죠?</span></span></span></span></span> <span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">우리가 만든 ContextMenu 를 무비에 Attach 해야하는 데 그 작업을 하지 않았기 때문입니다.</span></span></span></span></span> <span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">Attach 하는 방법은 간단합니다.</span></span></span></span></span><br />
[as3]this.contextMenu = cm;[/as3]<br />
<span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;">정말 쉽죠? 아래에 예제와 예제에 사용된 소스코드를 첨부하였습니다. 참고하시기 바랍니다. 예제에 아무 그래픽이 없어서 그냥 하얀 배경밖에 없는데 아래 빈 공간 잘 클릭해보시면 메뉴 뜰겁니다.. ^^</span></span></span></span></span></p>
<p style="text-align: center;"><span style="font-family: Verdana;"><span style="font-size: 9pt; font-family: 2186745_9;"><span style="font-size: 12pt; font-family: 2186745_12;"><span style="font-size: 10pt; font-family: 2186745_10;"><span style="font-size: 9pt; font-family: 굴림;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="183" height="154" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial1.swf" /><param name="src" value="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial1.swf" /><embed type="application/x-shockwave-flash" width="183" height="154" src="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial1.swf" data="http://blog.saberre.kr/wp-content/uploads/2009/01/contextmenututorial1.swf"></embed></object></span></span></span></span></span><br />
[as3]var cm:ContextMenu = new ContextMenu();<br />
var cmi:ContextMenuItem = new ContextMenuItem(&#8220;Shift&#8221;);<br />
var cmi2:ContextMenuItem = new ContextMenuItem(&#8220;카페&#8221;, true);</p>
<p>cm.hideBuiltInItems();<br />
cm.customItems.push(cmi, cmi2);</p>
<p>this.ContextMenu = cm;[/as3]<br />
<span>1부는 여기까지구요. 2부에서는 메뉴를 클릭했을 때 함수가 실행되게 해보고 여러 가지 응용을 해보겠습니다.</span> 2부 바로가기: <a href="http://blog.saberre.kr/296/">http://blog.saberre.kr/296/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/265/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>새로운 구글 파비콘(Favicon)</title>
		<link>http://blog.saberre.kr/29/</link>
		<comments>http://blog.saberre.kr/29/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 17:07:09 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[구글]]></category>
		<category><![CDATA[파비콘]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=29</guid>
		<description><![CDATA[세계 최대의 검색엔진인 구글(Google). 거의 8년동안 바꾸지 않았던 파비콘(Favicon, 어떤 사이트에 접속했을 때 웹 브라우저의 주소창에 뜨는 작은 아이콘)을 변경했네요. 원래는 사각형 안에 대문자 G가 들어있었는데 이제는 둥근 사각형 안에 소문자 g가 들어있군요. 어떤 이유인가 해서 구글 공식 블로그를 찾아갔더니 다음과 같은 이유가 나와있더군요. The reason is that we wanted to develop a set of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F29%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F29%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p>세계 최대의 검색엔진인 <a title="Google" href="http://www.google.com" target="_blank">구글(Google)</a>. 거의 8년동안 바꾸지 않았던 파비콘(Favicon, 어떤 사이트에 접속했을 때 웹 브라우저의 주소창에 뜨는 작은 아이콘)을 변경했네요. 원래는 사각형 안에 대문자 G가 들어있었는데 이제는 둥근 사각형 안에 소문자 g가 들어있군요. 어떤 이유인가 해서 <a title="Offical Google Blog: One Fish, Two Fish, Red Fish, Blue Fish" href="http://googleblog.blogspot.com/2008/06/one-fish-two-fish-red-fish-blue-fish.html" target="_blank">구글 공식 블로그</a>를 찾아갔더니 다음과 같은 이유가 나와있더군요.</p>
<blockquote><p>The reason is that we wanted to develop a set of icons that would scale better to some new platforms like the iPhone and other mobile devices.<br />
우리가 아이콘을 바꾼 이유는 아이폰이나 다른 모바일 기기같은 새로운 플랫폼에서 더 잘 보이도록 하기 위해서 새로운 아이콘 모음이 필요했기 때문이다.</p>
<p>So the new favicon is one of those, but we&#8217;ve also developed a group of logo-based icons that all hang together as a unified set.<br />
그래서 새 파비콘은 아래 중 하나이지만, 또한 로고를 기반으로 한 아이콘을 몇 개 만들어서 하나의 모음으로 만들었다.</p>
</blockquote>
<p>그 아이콘 모음이 바로 아래 그림입니다.</p>
<p style="text-align: center;"><a href="http://blog.saberre.kr/wp-content/uploads/2008/06/favicon_family.jpg" rel="shadowbox[post-29];player=img;" title="Google\'s New Favicon Family"><img class="alignnone size-full wp-image-30" title="Google\'s New Favicon Family" src="http://blog.saberre.kr/wp-content/uploads/2008/06/favicon_family.jpg" alt="" width="500" height="129" /></a></p>
<p>확실히 예전 아이콘보다는 모바일 기기에 최적화 되었다는 느낌이 듭니다. 개인적으로는 저번 파비콘보다 훨씬 낫다는 생각이 드는군요. 더 깔끔하고 보기도 좋네요.</p>
<p>한 가지 보너스 그림을 보여드립니다. 구글이 위와 같은 아이콘 모음을 만들기 위해 시도했던 아이콘 모음입니다.</p>
<p style="text-align: center;"><a href="http://blog.saberre.kr/wp-content/uploads/2008/06/favicon_iterations.jpg" rel="shadowbox[post-29];player=img;" title="Google\'s New Favicon Iterations"><img class="alignnone size-full wp-image-31" title="Google\'s New Favicon Iterations" src="http://blog.saberre.kr/wp-content/uploads/2008/06/favicon_iterations.jpg" alt="" width="419" height="166" /></a></p>
<p>구글이 모바일 시장에서 성공하기 위한 많은 노력이 엿보입니다. <img src='http://blog.saberre.kr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div style="text-align:center;"><embed src="http://api.bloggernews.media.daum.net/static/recombox1.swf?nid=1278749" quality="high" bgcolor="#ffffff" width="400" height="80" type="application/x-shockwave-flash"></embed></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/29/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Firefox Download Day에 참여합시다~!</title>
		<link>http://blog.saberre.kr/19/</link>
		<comments>http://blog.saberre.kr/19/#comments</comments>
		<pubDate>Thu, 29 May 2008 14:22:59 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox Download Day]]></category>
		<category><![CDATA[불여우]]></category>
		<category><![CDATA[파이어폭스]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=19</guid>
		<description><![CDATA[지금 파이어폭스를 널리 알리는 사이트인 SpreadFirefox 에서 흥미로운 이벤트를 진행중입니다. 바로 파이어폭스 다운로드 데이입니다! SpreadFirefox 측에서는 다음과 같이 설명하고 있습니다. Sounds like a good deal, right? 그럴듯한 것 같지 않습니까? All you have to do is get Firefox 3 during Download Day to help set the record for most software downloads in 24 hours &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F19%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F19%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p>지금 파이어폭스를 널리 알리는 사이트인 SpreadFirefox 에서 흥미로운 이벤트를 진행중입니다. 바로 파이어폭스 다운로드 데이입니다!</p>
<p>SpreadFirefox 측에서는 다음과 같이 설명하고 있습니다.</p>
<blockquote><p>Sounds like a good deal, right?<br />
그럴듯한 것 같지 않습니까?</p>
<p>All you have to do is get Firefox 3 during Download Day to help set the record for most software downloads in 24 hours &#8211; it’s that easy.<br />
당신이 해야할 것은 파이어폭스 3를 &#8217;24시간 안에 가장 많이 다운로드 된 소프트웨어&#8217;로 기록하기 위해 다운로드 데이에 파이어폭스 3를 다운로드 받는 것입니다. 이렇게도 쉽습니다.</p>
<p>We&#8217;re not asking you to swallow a sword or to balance 30 spoons on your face, although that would be kind of awesome.<br />
우리가 당신에게 칼을 삼키거나 얼굴 위에 30개의 스푼을 떨어지지 않게 올려두는 것 같은 무시무시한 부탁을 하는것은 아닙니다.</p>
<p>By the way, the official date for the launch of Firefox 3 will be posted here soon &#8211; so check back! Join our community and this effort by pledging today.<br />
아무튼, Firefox 3가 공식적으로 공개되는 날이 이곳에 곧 게제될 것입니다. 항상 들러주세요. 다운로드 데이에 Firefox 3를 내려받겠다고 약속하세요!</p></blockquote>
<p>살다살다 이런 재밌는 이벤트는 처음이네요. (얼마나 살았다고&#8230;)</p>
<p>아래 링크를 클릭하시면 Firefox 3를 내려받겠다고 서약할 수 있는 페이지로 이동합니다.</p>
<p><a title="SpreadFirefox: Firefox Download Day" href="http://www.spreadfirefox.com/en-US/worldrecord/" target="_blank">Firefox 3를 내려받겠다고 서약하기</a></p>
<p>이 글을 쓰는 시점에서 우리나라(South Korea)에서는 498명이 서약했네요. (저도 포함입니다~)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/19/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wisia 2차 클로즈베타에 초대해드립니다!</title>
		<link>http://blog.saberre.kr/18/</link>
		<comments>http://blog.saberre.kr/18/#comments</comments>
		<pubDate>Wed, 28 May 2008 12:35:05 +0000</pubDate>
		<dc:creator>Saberre</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Wisia]]></category>
		<category><![CDATA[위지아]]></category>

		<guid isPermaLink="false">http://blog.saberre.kr/?p=18</guid>
		<description><![CDATA[Wisia를 체험해보고 싶으신 분들은 댓글 달아주세요. 댓글 내용에 따로 메일주소 적지 않으셔도 됩니다. 어차피 댓글 작성시 메일 주소가 필요합니다. Wisia 에 대해서는 많은 블로거분들이 다뤄주셨기 때문에 어떤 서비스인지 모른다면 메타블로그 사이트에서 검색해보세요! Allblog 에서 &#8216;위지아&#8217; 키워드 검색 Mixsh 에서 &#8216;위지아&#8217; 태그 검색]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.saberre.kr%2F18%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.saberre.kr%2F18%2F&amp;source=Saberre&amp;style=normal&amp;service=bit.ly&amp;service_api=saberre%3AR_48acd033e334cfef52e5407d214858a2" height="61" width="50" /><br />
			</a>
		</div>
<p>Wisia를 체험해보고 싶으신 분들은 댓글 달아주세요.</p>
<p>댓글 내용에 따로 메일주소 적지 않으셔도 됩니다. 어차피 댓글 작성시 메일 주소가 필요합니다.</p>
<p>Wisia 에 대해서는 많은 블로거분들이 다뤄주셨기 때문에 어떤 서비스인지 모른다면 메타블로그 사이트에서 검색해보세요!</p>
<p><a title="Allblog 키워드 검색: '위지아'" href="http://search.allblog.net/?keyword=%EC%9C%84%EC%A7%80%EC%95%84&#038;type=undefined" target="_blank">Allblog 에서 &#8216;위지아&#8217; 키워드 검색</a></p>
<p><a title="Mixsh 태그 검색: '위지아'" href="http://www.mixsh.com/tag/%EC%9C%84%EC%A7%80%EC%95%84" target="_blank">Mixsh 에서 &#8216;위지아&#8217; 태그 검색</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.saberre.kr/18/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
