디스크 유틸리티를 실행시키고 해당 디스크를 선택한 후 지우기에서..
포맷 Mac OS 확장(저널링)을 선택한후 지우기 버튼을 클릭한다.

이후 해당 드라이브에서 파티션을 선택한후 파티션 레이아웃에서 분할할 갯수를 선택한후 맥용으로 쓸 하드는 Mac OS  확장(저널링)으로 포맷하고 윈도용으로 쓸 파티션에는 FAT형식으로 포맷한다.(그렇지 않으면 읽기만가능하며 쓰기가 되지않음)

단 FAT 형식으로 포맷했을 경우 1개의 화일용량이 4G를 넘길시 복사가 되지 않는다..
(예를 들어 adobe 프로그램이 iso 형태로 4기가 넘을 경우 카피가 되지 않으므로 유의..)

'#Works > howto' 카테고리의 다른 글

맥에서 외장용 하드 포맷시키기..  (0) 2013.10.03
맥 dvd 꺼내기  (0) 2013.02.26
Posted by 도깨비^^

댓글을 달아 주세요

맥 dvd 꺼내기

#Works/howto 2013. 2. 26. 17:20

터미널에서

drutil eject
drutil tray eject

실행 시켜 주시면 됩니다.

'#Works > howto' 카테고리의 다른 글

맥에서 외장용 하드 포맷시키기..  (0) 2013.10.03
맥 dvd 꺼내기  (0) 2013.02.26
Posted by 도깨비^^

댓글을 달아 주세요

topstyle 4를 찾자..

#Works 2009. 10. 6. 01:08

topstyle 4를 어디서 구하지??으흠...

'#Works' 카테고리의 다른 글

topstyle 4를 찾자..  (0) 2009.10.06
Corporate Identity, Brand Identity, and Brand Image  (0) 2007.02.02
인테리어 트랜드  (0) 2007.01.03
웹디자이너 십계명  (0) 2006.11.17
Posted by 도깨비^^

댓글을 달아 주세요

float을 clear하는 4가지 방법.

CSS 속성 가운데 float 속성은 자기 자신의 위치를 주변의 콘텐츠로부터 상대적으로 배치하는 속성입니다. float은 사전적 의미로 ‘뜨다, 띄우다, 뜨는 물건, 부유물’ 이라는 의미가 담겨져 있습니다. float은 높이가 가변적인 다단 컬럼 형태의 CSS 레이아웃을 위하여 반드시 요구되는 속성으로서 처음 CSS 배치기법을 익힐 때 가장 이해하기 어려운 속성중의 하나 입니다. float 속성이 부여된 엘리먼트는 좌측이나 우측으로 배치되면서 주변 콘텐츠의 배치에도 영향을 미친다는 사실은 어렵지 않게 학습되나 ‘float 된 엘리먼트가 부모 엘리먼트의 높이에 영향을 주지 않는다는 사실’은 몇 번의 경험 또는 선배들의 조언으로 깨닫게 되는 것이지요.

오늘은 float 속성을 이해하고 다단 컬럼형 레이아웃을 시도할 때 주변 엘리먼트들이 원하는 상태로 배치될 수 있도록 이것에 대응하거나 clear 하는 방법에 대하여 공유하고자 합니다. clear 속성은 float이 더이상 주변 엘리먼트의 배치에 영향을 미치지 않도록 해제시키는 속성입니다. 만약 Internet Explorer 브라우저를 사용하여 학습을 시도하신다면 일단 멈추시고 표준계열 브라우저에서 먼저 시도해 보세요. CSS 표준 렌더링을 엄격하게 준수하는 Opera와 Safari를 권장합니다. Internet Explorer와 Firefox 브라우저는 float, clear 속성에 관한 버그를 포함하고 있으므로 float과 clear의 표준 렌더링이 어떻게 구현되는지를 학습할 때 도움이 되지 않습니다. 하지만 버그를 해결하는 방법도 소개되어 있으니 안심하세요.

오늘 글의 핵심은 ‘float된 자식 엘리먼트의 높이를 부모 엘리먼트에 반영하도록 대응하는 방법’ 이라고 한마디로 설명할 수 있겠습니다. 부모 떠난 자식을 다시 부모의 품 안으로 돌아오도록 하려면 어떻게 해야 하는지 한번 살펴 보시죠.

float에 아무런 대응도 하지 않은 상태

#container는 부모 엘리먼트이며 #lnb와 #content는 자식 엘리먼트로서 현재 float된 상태 입니다. 아래 예제는 float에 아무런 대응을 하지 않으면 자식 엘리먼트가 부모 엘리먼트의 높이에 영향을 주지 않는다는 사실을 보여주고 있습니다. #container의 높이가 자식 엘리먼트의 높이를 반영하지 않고 있다는 사실에 주목해 주세요. float에 아무런 대응도 하지 않은 상태의 예제가 준비되어 있습니다.

float에 아무런 대응도 하지 않은 상태의 예제

float에 float으로 대응하는 방법

자식 엘리먼트의 높이를 부모에게 반영하는 방법으로 부모에게도 float 속성을 부여하는 방법이 있습니다. 부모에게 float 속성을 부여하게 되면 부모엘리먼트는 자식 엘리먼트의 높이를 반영합니다. 하지만 부모 엘리먼트의 너비는 float된 두 자식의 너비를 담을만큼만 작게 줄어든다는 사실에 주목해 주세요. 부모의 너비가 브라우저 크기에 따라 가변적이어야 하는 경우에 적용하기 어려운 단점이 있습니다. 또한 조상 엘리먼트들이 겹겹이 존재하는 경우 자식의 높이를 조상 엘리먼트에게 각각 전달하기 위하여 조상 엘리먼트들을 모두 float 시켜야 하므로 일반적으로 사용하는것을 권장하지 않습니다. float에 float으로 대응하는 방법 예제.

float에 float으로 대응하는 방법 예제

float에 overflow 속성으로 대응하는 방법

자식 엘리먼트의 높이를 부모에게 반영하는 방법으로 부모 엘리먼트에 overflow:auto 또는 overflow:hidden 속성을 부여하는 방법이 있습니다. overflow:auto 속성은 자식의 너비가 가변적이고 부모의 너비보다 커지는 상황이 발생할 때 가로 스크롤바를 유발하기 때문에 일반적으로 권장하는 방식이 아닙니다. overflow:hidden 속성은 그러한 상황에서 가로 스크롤바를 유발하지는 않지만 자식의 너비가 넘치는 경우 넘치는 부분이 잘리기 때문에 이 역시 완전하게 안전한 방법은 아닙니다. float에 overflow 속성으로 대응하는 방법 예제.

float에 overflow 속성으로 대응하는 방법

float을 빈 엘리먼트로 clear 하는 방법

이 방법은 #container 영역이 끝나기 직전 빈 엘리먼트를 넣고 빈 엘리먼트에 clear:both 속성을 부여하여 부모가 자식의 높이를 인식하도록 하는 방법입니다. 하지만 의미 없는 빈 엘리먼트를 사용하기 때문에 이 역시 권장되는 방법은 아닙니다. float을 빈 엘리먼트로 clear 하는 방법 예제. 예제에서는 .clear 라는 빈 엘리먼트를 가시적으로 보이도록 하였지만 실무에서는 보통 .clear {clear:both; height:0; overflow:hidden;} 처리하여 .clear 라는 빈 엘리먼트가 스스로 높이를 갖지 않도록 하고 보이지 않도록 처리 합니다.

float을 빈 엘리먼트로 clear 하는 방법 예제

float을 가상 선택자 :after로 clear 하는 방법

가장 탁월하다고 생각하는 방법 입니다. 우선 ‘가상 선택자‘라는 개념을 이해하셔야 하기 때문에 약간 상세히 설명드리겠습니다. 여러분들이 익히 알고 계시는 :link, :visited, :hover, :active, :focus는 모두 가상 선택자 입니다. ‘가상 선택자’는 다시 ‘가상 클래스‘와 ‘가상 엘리먼트‘로 구분할 수 있는데요. ‘가상 클래스‘는 특정 엘리먼트에 대하여 아무런 class를 부여하지 않았지만 마치 역동적으로 class를 변경한것과 같은 효과를 낼 수 있는 것들로서 이미 존재하는 엘리먼트에 조합해서 사용할 수 있습니다.  :link, :visited, :hover, :active, :focus, :first-child가 가상 클래스에 해당됩니다. 한편 ‘가상 엘리먼트‘란, 존재하지 않는 엘리먼트를 가상으로 생성해내는 선택자로서 :first-line, :first-letter, :before, :after가 있습니다. 심지어 :before와 :after는 HTML문서상에 존재하지 않는 콘텐츠를 출력시키기도 합니다.  Hello World Collection이라는 웹 사이트에 신현석님이 ‘Hello World’라는 메시지를 어떻게 출력했는지 살펴보시면 재미있고 이해하기도 쉽죠. 이렇게 가상의 엘리먼트를 생성 #container:after {content:" "} 시킨 다음 display:block; clear:both 처리를 추가하게 되면 의미 없는 빈 엘리먼트를 사용하지 않으면서도 가상 엘리먼트를 이용하여 깔끔하게 float이 clear됩니다. float을 가상 선택자 :after로 clear 하는 방법 예제.

float을 가상선택자 :after로 clear 하는 방법 예제

상기 예제로부터 가상 엘리먼트가 스스로 높이를 갖지 않고 화면에 보이지 않도록 처리 하려면 추가적으로 아래와 같이 높이를 제거하고 visibility 속성을 hidden으로 처리 합니다.

#container:after {content:" "; display:block; clear:both; height:0; visibility:hidden;}

하지만 Internet Explorer는 :before, :after 가상 엘리먼트 선택자를 지원하지 않기 때문에 다음과 같은 Hack이 필요합니다.

#container {*height:1%;} /* IE5.5~7 브라우저 대응 Hack */
#container:after {content:" "; display:block; clear:both; height:0; visibility:hidden;} /* 표준계열 브라우저에 대응하는 float 해제용 가상 엘리먼트의 생성 */

Internet Explorer는 엘리먼트에 높이값을 부여했을 때 min-height 속성을 부여한 것처럼 렌더링하는 특징이 있는데 이때부터 float된 자식의 높이까지 인식하게 되는 버그가 있고 이러한 특성을 이용한 것입니다. Internet Explorer 버그와 관련하여 Wystan님 께서 오류를 지적해 주셨습니다. 정확하게 말해서 #container라는 엘리먼트가 min-height속성을 부여한 것처럼 렌더링 하는 특징은 #container라는 엘리먼트에 height 속성뿐만 아니라 width 속성을 부여하는 경우에도 동일하게 나타납니다. 이것은 IE가 hasLayout이 라는 IE만의 속성을 지니고 있기 때문입니다. 그리고 min-height속성을 부여한 것처럼 렌더링 하는 특징은 IE6 이하 브라우저와 IE7이 조금 다릅니다.  #container의 부모 엘리먼트에 높이값이 지정되어 있지 않은경우라면 IE6과 IE7은 min-height 속성을 부여한 것처럼 동일하게 렌더링 하지만 #container의 부모 엘리먼트에 높이값이 지정되어 있는 경우라면 IE7은 min-height 속성을 부여한 것처럼 렌더링 하지 않습니다. 따라서 이 팁은 #container의 부모 엘리먼트에 height값이 명시되어 있는 경우 IE7에서 원하는 형태로 렌더링 하지 않으므로 상황에 맞게 제한적으로 사용하여야 합니다. Wystan님께 감사드립니다.^^

2008년 11월 14일 내용 추가.

IE 브라우저에서 float을 해제하는 핵으로 { *height:1% } 대신 { *zoom:1 }을 사용하셔도 됩니다. 높이를 지정하는 방법은 IE7에서 부모 엘리먼트에 높이 값이 존재하는 경우 부모의 높이값으로 부터 1%를 계산하기 때문에 다양한 상황에 적용하기 어려운 단점이 있는 반면 zoom 속성을 사용하게 되면 부모의 높이값과 무관하게 float을 해제할 수 있기 때문에 브라우저 호환성 유지를 위한 더 좋은 방법이라고 생각됩

Posted by 도깨비^^

댓글을 달아 주세요

DIV

Tips and Notes

Tip: The div element is very often used with CSS to layout a web page.

Note: Browsers usually place a line break before and after the div element

DIV 여백없애려면:
바깥여백을 없애시려면 margin : 0px; 을 주시면 되고 안쪽 여백을 없애시려면 padding : 0px을 주시면 됩니다

다만, IE에서는 margin 버그가 있는 것으로 압니다.
(때문에 주로 웹페이지 제작시는 IE외 파이어폭스등의 브라우저를 기준으로 작업하시면 좋습니다.)

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

UL-OL

Using an Image as List Item Marker

It is also possible to use an image as a list item marker:

Example
ul
{
list-style-image:url('arrow.gif');
}

 

The example above will not show the exact same result in all browsers. IE and Opera will display the images slightly higher than in Firefox, Chrome, and Safari.

The example above will be fine for most occasions. However, there is a way to position the image more precisely.

For the same result in all browsers, you will have to use a background image on each list item, like this:

Example
ul
{
list-style-type:none;
padding:0px;
margin:0px;
}

li
{
background-image:url(arrow.gif);
background-repeat:no-repeat;
background-position:0px 5px;
padding-left:14px;
}
 
 

Example explained:

  • For ul:
    • Set the list-style-type to none to remove the list item marker
    • Both padding and margin must be set to 0px for cross-browser compatibility
  • For li:
    • Set the URL of the image, and show it only once (no-repeat)
    • Use the background-position property to place the image where you want it (left 0px and down 5px)
    • Use the padding-left property to position the text in the list

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

Note: To apply more than one class per given element, the syntax is:

<p class="center bold">This is a paragraph.</p>

Do NOT start an ID name with a number! It will not work in Mozilla/Firefox.

Do not leave spaces between the property value and the units! "margin-left:20 px" (instead of "margin-left:20px") will only work in IE6, but it will not work in Firefox or Opera.



Text Indentation

The text-indentation property is used to specify the indentation of the first line of a text.

p {text-indent:50px}

p
{
letter-spacing: 12px
}

p
{
letter-spacing: -0.5px
}  

Width and Height of an Element

Important: When you specify the width and height properties of an element with CSS, you are just setting the width and height of the content area. To know the full size of the element, you must also add the padding, border and margin.

The total width of the element in the example below is 300px:

width:250px;
padding:10px;
border:5px solid gray;
margin:10px;

Let's do the math:
250px (width)
+ 20px (left and right padding)
+ 10px (left and right border)
+ 20px (left and right margin)
= 300px

Imagine that you only had 250px of space. Let's make an element with a total width of 250px:
width:220px;
padding:10px;
border:5px solid gray;
margin:0px;

Browsers Compatibility Issue

If you tested the previous example in Internet Explorer, you saw that the total width was not exactly 250px.

IE includes padding and border in the width, when the width property is set, unless a DOCTYPE is declared.

To fix this problem, just add a DOCTYPE to the code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
div.ex
{
width:220px;
padding:10px;
border:5px solid gray;
margin:0px;
}
</style>
</head>

테이블 없이 div만으로 레이아웃 구성예

<html>
<head>
<style type="text/css">
div.container
{
width:100%;
margin:0px;
border:1px solid gray;
line-height:150%;
}
div.header,div.footer
{
padding:0.5em;
color:white;
background-color:gray;
clear:left;
}
h1.header
{
padding:0;
margin:0;
}
div.left
{
float:left;
width:160px;
margin:0;
padding:1em;
}
div.content
{
margin-left:190px;
border-left:1px solid gray;
padding:1em;
}
</style>
</head>
<body>

<div class="container">
<div class="header"><h1 class="header">W3Schools.com</h1></div>
<div class="left"><p>"Never increase, beyond what is necessary, the number of entities required to explain anything." William of Ockham (1285-1349)</p></div>
<div class="content">
<h2>Free Web Building Tutorials</h2>
<p>At W3Schools you will find all the Web-building tutorials you need,
from basic HTML and XHTML to advanced XML, XSL, Multimedia and WAP.</p>
<p>W3Schools - The Largest Web Developers Site On The Net!</p></div>
<div class="footer">Copyright 1999-2005 by Refsnes Data.</div>
</div>

</body>
</html>

1. 브라우저 별로 CSS를 다르게 하려면 CSS핵을 이용해야 합니다만,단순히 웹폰트를 가리기 위해서라면

  @font {font-family : 웹폰트, 웹폰트가 적용되지 않는 곳에서 쓸 폰트 }
  이런 식으로 사용하시면 됩니다.

  font-family는 앞에서부터 적용하여 맨 앞의 폰트가 없을 경우 두번째, 두번째도 없을 경우 세번째..
  식으로 넘어가며 적용시키게 됩니다.


Posted by 도깨비^^

댓글을 달아 주세요

<html>
<head>
<style type="text/css">
ul
{
list-style-image: url('arrow.gif')
}
</style>
</head>

<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>

</html>


리스트 인덴트 위치
<html>
<head>
<style type="text/css">
ul.inside
{
list-style-position: inside
}

ul.outside
{
list-style-position: outside
}
</style>
</head>

<body>
<p>This list has a list-style-position with a value of "inside":</p>
<ul class="inside">
<li>Earl Grey Tea - A fine black tea</li>
<li>Jasmine Tea - A fabulous "all purpose" tea</li>
<li>Honeybush Tea - A super fruity delight tea</li>
</ul>

<p>This list has a list-style-position with a value of "outside":</p>
<ul class="outside">
<li>Earl Grey Tea - A fine black tea</li>
<li>Jasmine Tea - A fabulous "all purpose" tea</li>
<li>Honeybush Tea - A super fruity delight tea</li>
</ul>
</body>
</html>

한꺼번에 기입

<html>
<head>
<style type="text/css">
ul
{
list-style: square inside url('arrow.gif')
}
</style>
</head>

<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>

</html>
 

Posted by 도깨비^^

댓글을 달아 주세요

내장되어 있는  유아이 FLVPlayback 동영상 페키지를 이용해서..보여주는것을 테스트 하고있습니다.역시나 잘나가다가...htm 에서 테스트 하나.않나오내요

동영상 소스 부분을 상대경로로 적고..로컬에서 테스트하니 않나와서..도움말을 읽으니..http 를 지원한다는둥 아무튼 그런거 같아서.

서버에 flv 파일을 올리고..http 경로를 적어 주었습니다잘나오더군요... exe 실행시..동영상 은 무조건 http://  써야 로컬에서는 나오는건가요???

여기서 잠깐 그럼 시디로 배포를 하려고 한다면..도대체 어떻게 해야합니까?상대경로가 않먹힌다면???


보안설정부분 참 난감하내요~~

시디로 만든다음 다른데서 볼때 만약 인터넷이 않되는곳이라면..flv 파일 자체를 못찾으니 실행이 않 될테구요..


상대경로는 아에 않나오고~플래쉬는 시디 타이틀을 만들수 있는 툴이 아닌가봅니다.


디랙터를 공부해야하나요???

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

경로앞에 "/" 를 붙이세요. 기억이 가물거리긴 하지만, 경로 제일 앞에 "/"를 붙이면 되던걸로 기억됩니다.
즉, mov 폴더안에 test.flv 파일이 있다면 /mov/test.flv
기억이 가물거려서 정확하진 않습니다.

'#Works > 스크립트,CSS,HTML' 카테고리의 다른 글

CSS할때 난감했던 부분정리..  (0) 2009.06.16
리스트스타일 이미지  (0) 2009.03.31
movieclip 경로문제  (0) 2007.10.23
플래쉬 exe로 만들때 loadmovie 문제..  (0) 2007.10.23
플래쉬 액션스크립트 모음집  (0) 2007.02.05
ajax  (0) 2007.01.16
Posted by 도깨비^^

댓글을 달아 주세요

프리젠테이션 용으로 파일을

main.swf

s1_1.swf

s1_2.swf

.

.

.

.

end.swf


의 구조로 순서대로 로드무비되어 넘어가는 제작물을 만들었습니다.


이걸 테스트겸 해서 플래쉬 8로 새로운 기능들 적용해서 작업해봤는데

(여기저기 숨은 곳에서 엄청 편해졌더군요..)


나중에 start.exe를 만들어 빈 무비클립을 만들고 거기에 main.swf를 로드시켰는데

실행은 되고 start.exe에 걸어놓은 풀스크린까지 먹는데 로드무비가 안됩니다.

start.swf로 만들어서 해보니까 잘되더군요.


이를 플래쉬 MX2004에서 똑같이 start.fla를 불러와 exe로 퍼블리쉬 시켰는데

로드가 되더군요 (물론 플래쉬 8에서 새로 나온 기능을 쓴부분은 깨져서 나오구요..)


알바로 하는건데 의뢰인에게 보내줄려니 분명 플래쉬 플레이어 8이 깔려있을리가 없고.. 해서..

exe로 만들긴 해야되는데 main.swf를 exe로 만들면 로드무비가 안되고..


이를 어찌해야 합니까...


설정에 문제가 있었는지..

다른 분들도 플래쉬 8에서 exe로 퍼블리쉬하면 로드무비가 안되나요?



P.S:일단 구조를 좀 바꿔서 보내주긴 했습니다..ㅜㅠ

      왜 안돼징...

==답변====


실행화일이 영문 폴더 안에 있어야 한다는 말입니다.
즉 c:/imsi 폴더안에 넣고 실행하시면 제대로 될겁니다.
반면에 c:/바탕화면/imsi 폴더안에 있다면 제대로 실행되지 않습니다.
보통 바탕화면에 폴더를 만들면 실행화일이 있는 경로에 한글폴더가 포함되기 때문에 제대로 실행되지 않는답니다. 아마도 버그인것 같아요


exe파일로 갈경우 - 현재 이경우 문제되는 부분이 로드무비뿐이라면.. 로드경로앞에 / 만 덧붙여 주세요
한글경로명에 상관없이 로드해옵니다. fscommand 말고 다른 폴더도 상관없구요..
다만 로드할것이 flv라면 전체경로에 한글이 있으면 안되는데.. 이경우는 exe로 바로 만들지 말고.. 만들어진 swf를 flashPlayer9으로 연다음... 파일 > 프로젝터 생성 하셔서 exe로 만들면 됩니다


'#Works > 스크립트,CSS,HTML' 카테고리의 다른 글

리스트스타일 이미지  (0) 2009.03.31
movieclip 경로문제  (0) 2007.10.23
플래쉬 exe로 만들때 loadmovie 문제..  (0) 2007.10.23
플래쉬 액션스크립트 모음집  (0) 2007.02.05
ajax  (0) 2007.01.16
링크 점섬 빼기  (0) 2007.01.16
Posted by 도깨비^^

댓글을 달아 주세요

플래시 액션스크립트 모음


                       <<  플래시 액션 스크립트  flash action script  >>

----------------------------------------------------------------------------
// .....       주석 기호  
/* ..... */    주석 기호  
----------------------------------------------------------------------------
\r        // 리턴 코드  (ASC 13)
\n        // 줄바꿈 코드 (ASC 10)
\r\n      // 줄바꿈 코드  (2줄)
\t        // Tab 코드 (ASC 9)
\b        // Backspce 코드 (ASC 8)
&         // text 파일 데이타 구분 코드
----------------------------------------------------------------------------
산술연산자  +, -, *, /, %                 //  %  나머지를 구한다
대입연산자  =, +=, -=, *=, /=, %=         //  i+=4 와  i=i+4 는 같다
증감연산자  ++, --                        //  i++  와   i=i+1 는 같다  
비교연산자  ==, !=, >, <, >=, <=          //  !=  '같지않다' 로 해석
비교연산자  ===                           //  숫자 와 문자 구분
a = 5;    b = "5";                        //  숫자 5 와 문자 "5"
(a == b)                                  //  숫자 5 와 문자 "5"  는 같다 (true)
(a === b)                                 //  숫자 5 와 문자 "5" 는 틀리다 (false)
논리연산자  &&, ||, !                     //  그리고(AND), 또는(OR), 아니면(NOT)
조건연산자  ?    ( a ) ? b : c ;          //  a 조건이 맞으면 b 틀리면 c 실행
x=5;  y=10;  z=(x<6) ? x: y;   trace (z); //  z 은 5 이다
문자연산자  eq  ne  not  or  add          //  eq(==) ne(!=) not(!) or(||) add(+ 문자열의 연결)
( )                                       //  연산의 순서를 정한다
[ ]                                       //  배열을 지정한다
" "                                       //  문자를 지정한다
a=1+2;  trace(a);                         //  연산 결과 출력.  결과는 3
aaa=1;  set("ccc", aaa );  trace(ccc);    //  변수에 값을 지정.  결과는 1
aaa=1;  set("ccc", "aaa");  trace(ccc);   //  변수에 값을 지정.  결과는 aaa
set("ooo", getProperty ("ppp", _x ));     //  ppp x 좌표를  ooo 에 지정.
----------------------------------------------------------------------------
for (a=1; a<=10; a++)  { trace("a="+a); };             //  for  반복문
for (i=1; i<=120;  i+=12) { continue; };               //  for step 반복문
while(true) {  if(a == 0) { break; }; };               //  while  반복문
do { if(a == 0) { break; }; };  while(true);           //  do 반복문
if((n == 0) || (n >= 5)  &&  (n <= 55)  !(n=15)) {     //  if 조건문
 gotoAndPlay(1);
} else if (n == 2) {
 gotoAndPlay(2);
} else {
 gotoAndPlay(3);
};
num_ch = 3;                                             //  switch 조건문
switch (num_ch) {                                                
     case 1:    trace ( " case 1 tested true " );  break;
     case 2:    trace ( " case 2 tested true " );  break;
     default:    trace ( " no case tested true " );
};
----------------------------------------------------------------------------
function sumnumber(a,b,c) {  return(aaa= a+b+c); };    // 함수
sumnumber(1,2,3);
trace(aaa);
----------------------------------------------------------------------------
Math.abs(-1)              //  절대값.   결과는 1
Math.sin(1)               //  sin 값.   결과는 0.841470984807897
Math.cos(1)               //  cos 값.   결과는 0.54030230586814
Math.tan(1)               //  tan 값.   결과는 1.5574077246549
Math.log(2)               //  log 값.   결과는 0.693147180559945
Math.exp(1)               //  지수 값.    결과는 2.71828182845905
Math.sqrt(9)              //  제곱근 값.    결과는 3
Math.pow(2 , 4)           //  거듭제곱 값.    결과는 16
Math.ceil(1.1)            //  가까운 정수로 올림 값.    결과는 2
Math.ceil(1.5)            //  가까운 정수로 올림 값.    결과는 2
Math.floor(1.2)           //  가까운 정수로 내림 값.    결과는 1
Math.floor(1.7)           //  가까운 정수로 내림 값.    결과는 1
Math.round(1.2)           //  가까운 정수로 반올림 값.    결과는 1
Math.round(1.5)           //  가까운 정수로 반올림 값.    결과는 2
Math.max(1 , 2)           //  두 정수 중 큰 정수값.    결과는 2
Math.min(1 , 2)           //  두 정수 중 작은 정수값.    결과는 1
int(1.12 );               //  수치를 정수화.   결과는 1    
int(1.82 );               //  수치를 정수화.   결과는 1    
parseInt("3.2");          //  문자열을 정수화.  결과는 3    
parseInt("3.7");          //  문자열을 정수화.  결과는 3    
parseInt("5abc");         //  문자열을 정수화.  결과는 5
parseInt("abc5");         //  문자열을 정수화.  결과는 NaN    
parseInt("3E8", 16);      //  16 진수로 변환.   결과는 1000
parseInt("777", 8);       //  8 진수로 변환.   결과는 511
parseInt("1010", 2);      //  2 진수로 변환.   결과는 10
parseFloat("2")           // 문자열을 부동점 숫자로 변환.  결과는 2
parseFloat("2.4")         // 문자열을 부동점 숫자로 변환.  결과는 2.4
parseFloat("2.6abc")      // 문자열을 부동점 숫자로 변환.  결과는 2.6
Number("11")              //  문자열을 숫자로 변환.   결과는 11
Number("12.34")           //  문자열을 숫자로 변환.   결과는 12.34
Number("12.34abc")        //  문자열을 숫자로 변환.   결과는 NaN
sss = 123;  uuu = sss.toString();      // 숫자를 문자로변환.  결과는 123
ord("abc");                            //  ASCII 값.   결과는 97
s = "abc";   sss = s.charCodeAt(0);    //  1번째 ASCII 값 .   결과는 97
s = "abc";   sss = s.charCodeAt(1);    //  2번째 ASCII 값.    결과는 98
chr(65);                               //  ASCII 코드를 문자화.  결과는 A
String.fromCharCode(64,65,66);         //  ASCII 코드를 문자화.  결과는 @AB
Math.random();                         // 난수 발생.  결과는 0 - 1 사이의 소숫점 포함한 값
random(5);                             // 난수 발생.  결과는 0,1,2,3,4 중 하나
----------------------------------------------------------------------------
// delete 변수 또는 객체 ;             // 변수를 삭제  (var 로 선언된 변수는 삭제할 수 없다)
account = 1;   trace (account) ;                      // 결과는 1  
account = 1;   delete account;    trace (account);    // 결과는 undefined
delete onEnterFrame;                                  // 반복 실행 중지
this.onMouseMove = null;                              // 마우스 실행 중지
this.MoCp.clear ();                          // MoCp 무비클립 화면만 지움      
this.MoCp.removeMovieClip ();                // MoCp 무비클립 삭제
----------------------------------------------------------------------------
typeof( );            // String, Number, MovieClip, Object, Boolean, Function 여부를 지정
trace (typeof(1));    // 결과는 Number
trace (typeof("1"));  // 결과는 String
trace (typeof(aaa));  // aaa가 무비클립 이라면  결과는 MovieClip
----------------------------------------------------------------------------
isFinite( );            // 숫자가 유한수이면 true 무한수거나 음의 무한대이면 false
trace (isFinite(aaa));  // aaa 값이 NaN 이라면 결과는 false
----------------------------------------------------------------------------
Mouse.show();           // 마우스 보임
Mouse.hide();           // 마우스 감춤
myClip.onMouseDown = function () {trace (" depth 무시 "); };    // 마우스 누를 때
myClip.onMouseUp = function () {trace ("depth 무시 "); };       // 마우스 눌렀다 놓을 때
myClip.onMouseMove = function () { trace ("depth 무시 "); };    // 마우스 이동할 때
myClip.onPress = function () { trace ("depth 적용 "); };        // 마우스 누를 때
myClip.onRelease = function () { trace ("depth 적용 "); };      // 마우스 눌렀다 놓을 때
myClip.onReleaseOutside = function () { trace ("Outside"); };   // 마우스 나가서 놓을 때
myClip.onRollOver = function () { trace ("Over called"); };     // 마우스 오버 때
myClip.onRollOut = function () { trace ("Out called"); };       // 마우스 아웃 때
----------------------------------------------------------------------------
// 단추무비클립 클릭후 액션 스크립트를 넣는다
on (press){           }  // 마우스 버튼을 누를 때   };  x  }  o
on (release){         }  // 마우스 버튼을 눌렀다 뗄 때
on (releaseOutside){  }  // 마우스 버튼을 누르고 나가서 뗄 때
on (rollOver){        }  // 마우스 포인트가 위로 올라올 때
on (rollOut){         }  // 마우스 포인트가 밖으로 나갈 때
on (dragOver){        }  // 누른 채로 밖으로 나갔다가 다시 들어올 때
on (dragOut){         }  // 마우스버튼을 누르고 바깥으로 드래그할 때
on (keyPress){        }  // 지정한 키를 누를 때
----------------------------------------------------------------------------
// 무비클립 클릭후 액션 스크립트를 넣는다
onClipEvent (load) {            }  // 시작 될때  };  x  }  o  
onClipEvent (unload) {          }  // 제거 될때
onClipEvent (enterFrame) {      }  // 트리거 될때
onClipEvent (mouseMove) {       }  // 마우스가 이동할 때
onClipEvent (mouseDown) {       }  // 마우스 클릭 시
onClipEvent (mouseUp) {         }  // 마우스 클릭 후
onClipEvent (keyDown) {         }  // 키를 누를 때
onClipEvent (keyUp) {           }  // 키를 눌렀다 놓을 때
onClipEvent (data) {            }  // loadVariables 또는 loadMovie 액션에서 데이터가 수신될 때
----------------------------------------------------------------------------
// 마우스 더블클릭 때
ins.onPress = function() {
   if ((Number(getTimer()-mytime)<300) && (myxxx==_xmouse) && (myyyy==_ymouse)) {
       trace (" bdclick ");    // 더블클릭 성공
   } else {
       mytime = getTimer();  myxxx = _xmouse;  myyyy = _ymouse;  // 더블클릭 실패
   }
};
----------------------------------------------------------------------------
TextField.onChanged = function () { trace ("onChanged called"); };
// 텍스트 필드의 내용이 변경될 때
TextField.onSetFocus = function () { trace ("onSetFocus called"); };
// 텍스트 필드의 내용 부분에 마우스가 클릭 될 때
TextField.onKillFocus = function () { trace ("onKillFocus called"); };
// 텍스트 필드의 내용 바깥 부분에 마우스가 클릭 될 때
TextField.onScroller = function () { trace ("onScroller called"); };
// 텍스트 필드의 내용이 스크롤 될 때
----------------------------------------------------------------------------
myMovieClip.onData = function () { trace ("onData called"); };  
// 무비 클립이 loadVariables 또는 loadMovie 호출로부터 데이터를 받을 때
myMovieClip.onLoad =  function () { trace ("onLoad called"); };  
// 무비 클립이 load 호출로부터 데이터를 받을 때
myMovieClip.onUnLoad =  function () { trace ("onUnLoad called"); };  
// 무비 클립이 Unload 때
myMovieClip.stop()  
// 작업 중지
----------------------------------------------------------------------------
myDate = new Date();                               // 날짜 로드
myDate = new Date (년,월,일,시,분,초);             // 날짜 지정
yyyy = (myDate.getFullYear() + "-" + (myDate.getMonth() + 1) + "-" + myDate.getDate());
tttt = (myDate.getHours()+ " :" + myDate.getMinutes() + " :" +myDate.getSeconds());
----------------------------------------------------------------------------
_root.onEnterFrame = function() {   };             // 메인화면에서 프레임 반복
onEnterFrame = function() {   };                   // 심볼화면에서 프레임 반복
----------------------------------------------------------------------------
tmtm = getTimer();          
onEnterFrame = function() {
 if ( (getTimer()-tmtm) >= 500 ) { tmtm=getTimer(); trace (tmtm); };   // 0.5초후 반복실행
 if ( (getTimer()-tmtm) >= 1000 ) { tmtm=getTimer(); trace (tmtm); };  // 1초후 반복실행
 if ( (getTimer()-tmtm) >= 2000 ) { tmtm=getTimer(); trace (tmtm); };  // 2초후 반복실행
};
----------------------------------------------------------------------------
 tmtm = getTimer();
 while(true) { if( (getTimer()-tmtm) >= 1000 ) {  break;  };  };    // 1초간 중지
 while(true) { if( (getTimer()-tmtm) >= 2000 ) {  break;  };  };    // 2초간 중지
----------------------------------------------------------------------------
onEnterFrame = function() {                                
  nr += 1;  if (nr > 5 )  {  delete  onEnterFrame;  };           // 5번 반복실행후 중지
  trace (nr);
};
----------------------------------------------------------------------------
createTextField ("ins", 1, 100, 100, 50, 50)
ins.border = true;
function callback() {
  ins._x += 5;
  if ( ins._x > 400 ) { clearInterval( intervalID );  };      // 중지 (clearInterval)
}
var intervalID;
intervalID = setInterval( callback, 100 );             //  0.1초후 반복실행 (setInterval)
----------------------------------------------------------------------------
#include "script.as"         // script.as 파일 넣기 (액션 스크립트 txt 파일)
----------------------------------------------------------------------------
System.useCodepage = true;   // 한글 깨짐 방지
trace(System.capabilities.language)          // Flash Player가 지원하는 언어. 결과는 ko
trace(System.capabilities.hasVideoEncoder)   // 지원되는 비디오 인코더. 결과는 true, false.
trace(System.capabilities.hasAudioEncoder )  // 지원되는 오디오 인코더. 결과는 true, false.
trace(System.capabilities.hasAudio)          // 오디오 성능이 있는지 여부. 결과는 true, false.
trace(System.capabilities.hasMP3)            // MP3 디코더가 있는지 여부. 결과는 true, false.
----------------------------------------------------------------------------
escape("abc가나다");         // URL에 사용하기 위해 인코딩.
// System.useCodePage= true; 일때 결과는 abc%B0%A1%B3%AA%B4%D9
// System.useCodePage= false; 일때 결과는 abc%EA%B0%80%EB%82%98%EB%8B%A4
----------------------------------------------------------------------------
trace(targetPath(this));     // 대상 패스를 반환.  결과는 _level0.instance1 로 표시
trace(this.valueOf());       // 결과는 _level0 로 표시
----------------------------------------------------------------------------
trace(this.getBytesLoaded());  // 무비클립의 로드된 바이트 수를 알려준다.
trace(this.getBytesTotal());   // 무비클립의 전체용량 바이트 수를 알려준다.
----------------------------------------------------------------------------
getURL("C:/")                                          // 탐색기 열기
getURL("C:/Windows/NOTEPAD.EXE");   };                 // 메모장 열기
getURL("C:/Program Files/Accessories/WORDPAD.EXE");    // 워드패드 열기
getURL("C:/Program Files/Accessories/MSPAINT.EXE");    // 그림판 열기
getURL("C:/Windows/CALC.EXE");                         // 계산기 열기
getURL ("getdisplay.exe");                             // exe 파일 열기 (message)
getURL ("getdisplay.txt", "_self");                    // txt 파일 열기
getURL ("getdisplay.html", "_self");                   // html 파일 열기
getURL ("http://getdisplay.com.ne.kr", "_blank");      // 새로운 창으로 열기
----------------------------------------------------------------------------
Stage.showMenu = "true";        // 스크린 메뉴 보임
Stage.showMenu = "false";       // 스크린 메뉴 감춤  
Stage.scaleMode = "noScale";    // 화면의 사이즈를 고정
Stage.align = "TL";             // 화면의 정렬을 T(위) L(왼쪽)
          //  "T" 위 가운데    "B" 아래 가운데    "L" 가운데 왼쪽    "R" 가운데 오른쪽
          //  "TL" 위쪽 왼쪽   "TR" 위쪽 오른쪽   "BL" 아래쪽 왼쪽   "BR" 아래쪽 오른쪽
Stage.height      // 픽셀로 표시된 스테이지의 높이
Stage.width       // 픽셀로 표시된 스테이지의 넓이
----------------------------------------------------------------------------
_root.createEmptyMovieClip("box",1);      // 스테이지 테두리 주기
with (_root.box) {  moveto(1, 1);   linestyle(10, 0x00cc00, 100);
   lineto(stage.width, 1);     lineto(stage.width, stage.height);
   lineto(1, stage.height);    lineto(1, 1);   };
----------------------------------------------------------------------------
fscommand("showmenu", true);      // 스크린 메뉴 보임
fscommand("showmenu", false);     // 스크린 메뉴 감춤
fscommand("allowscale", true);    // 스크린 크기에 따라 무비의 크기도 변함
fscommand("allowscale", false);   // 스크린 크기에 따라 무비의 크기도 안변함
fscommand("fullscreen", true);    // 풀 스크린 (esc키 누르면 해제)
fscommand("fullscreen", false);   // 풀 스크린을 원래의 크기로 만든다
fscommand("trapallkeys", true);   // 키보드 키 사용할 수 없음 (풀 스크린 일때 esc키 먹통)
fscommand("trapallkeys", false);  // 키보드 키 사용할 수 있음
fscommand("quit");                // 스크린 닫기
fscommand ("exec", "b.exe");      // b.exe 파일 실행 (no message)
  플래시 무비(a.exe) 가 위치하는 폴더안에 fscommand 라는 하위 폴더를 만들고
  fscommand 디렉토리에  b.exe 가 있을때 플래시 무비(a.exe)를 실행하면 b.exe파일 실행
----------------------------------------------------------------------------
// getURL 로 javascript 사용하기
var hello = "Hello, World";
getURL("javascript:alert(\" "+ hello + "  \")");   // 메세지 띄우기
getURL("javascript:window.self.close()");          // 윈도우창 닫기
getURL("javascript:window.external.AddFavorite('http://','가')" );    //즐겨찾기 추가
----------------------------------------------------------------------------
// fscommand 로 javascript 사용하기
1.  fscommand ("messagebox", "This is a Flash.");   // aaa.swf flash script
2.  파일메뉴 - 제작설정 - 포맷 (HTML체크) - HTML (템플릿: with FSCommand 체크)
3.  파일메뉴 - 제작 (파일명은 aaa.swf) -  aaa.html 파일이 디렉토리에 만들어 진다
4.  aaa.html 파일을 열고  function aaa_DoFSCommand(command, args) {  아래에
     if (command == "messagebox") {  alert(args);  };   을 적고 저장 한다
5.  aaa.html 실행 (실행후 제작설정 해제)
----------------------------------------------------------------------------
// fscommand 로 javascript 의 변수값 불러오기
1. fscommand ("search", TextFieldvar);     // aaa.swf flash script
2. if (command == "search") {              // aaa.html script
      EEEfind = "FFFFFFFF";
      window.document.aaa.SetVariable("TextFieldvar", EEEfind) ;
      return TextFieldvar;
   };
3. aaa.html 실행
----------------------------------------------------------------------------
_root.loadMovie("a.swf");            // swf 파일 불러오기
_root.bbb.loadMovie("a.swf")         // swf 를 메인에 있는 bbb무비클립인스턴스에 불러오기
_root.loadMovie("a.swf", 1);         // swf 를 레벨1로 불러오기 (2 는 1를  screen over)
_root.loadMovie("aaa.jpg");          // jpg 파일 불러오기
_root.bbb.loadMovie("aaa.jpg");      // jpg 파일을 메인에 있는 bbb무비클립인스턴스에 불러오기
unloadMovie (1);                     // 레벨 1에 로드된 무비를 언로드
unloadMovie ("a.swf");               // 현재 무비에 로드된 a.swf 무비를 언로드
_root.bbb.unloadMovie();             // 메인 타임라인의 bbb 무비클립에 로드된 무비를 언로드
this["bbb"].unloadMovie();           // 현재 타임라인의 bbb 무비클립에 로드된 무비를 언로드
sss.bbb.unloadMovie();               // sss 심볼 타임라인의 bbb 무비클립에 로드된 무비를 언로드
----------------------------------------------------------------------------
button.onPress = function() { _root.loadMovie("aaa.swf"); }     // aaa.swf 실행중 초기화 하기
----------------------------------------------------------------------------
_root["ball_"+counter]._x = 11;       //  메인 화면의 클립 좌표
this["ball_"+counter]._x = 11;        //  현재 화면의 클립 좌표
aaa["ball_"+counter]._x = 11;         //  aaa 심볼 화면의 클립 좌표
----------------------------------------------------------------------------
this.createEmptyMovieClip("aaa", 1);             //  무비클립 생성 (2 는 1를 screen over)
duplicateMovieClip (aaa, bbb, 1);                //  aaa 무비클립  bbb 로 복사
this.bbb.removeMovieClip();                      //  bbb 무비클립 삭제
myClip._visible = true;                          //  클립 보임
myClip._visible = false;                         //  클립 감춤
myClip.swapDepths(100);                          //  클립 깊이 100 으로 지정 (2 는 1를 screen over)
myClip.swapDepths(otherClip);                    //  클립 깊이 otherClip 과 바꿈
for (i=1; i<=360; i++)  {                        //  클립 복사
    duplicateMovieClip (ins1, "mc"+i, i);
    setProperty ("mc"+i, _x, random(300));
    setProperty ("mc"+i, _y, random(300));
    setProperty ("mc"+i, _alpha, random(300));
    setProperty ("mc"+i, _xscale, 150);
    setProperty ("mc"+i, _yscale, 150);
};  
for (i=1; i<=360; i++)  {                        //  클립 복사
    duplicateMovieClip (ins1, "mc"+i, i);
    this["mc" + i]._x = i;
    this["mc" + i]._y = i;
};  
for (i=1; i<=50; i++)  {                          // 클립 이동
     this["mc_"+i]._x += 10;
     this["mc_"+i]._y += 10;
};  
for (i=1; i<=360; i++)  {                         // 클립 삭제
    this["mc" + i].removeMovieClip ();
};  
this["mc" + i].clear ();                        // 클립 화면만 지움
----------------------------------------------------------------------------
setProperty ("mv", _x, 150);           // mv 무비클립 x좌표 속성 변경
myMovieX = getProperty( mv, _x);       // mv 무비클립 x좌표 속성 읽기
trace(myMovieX);
----------------------------------------------------------------------------
_alpha              알파값(%)
_currentframe       현재재생중인 프레임(#)
_droptarget         드래그 앤드드롭 할때 놓는 타깃위치(name)
_framesloaded       로드된 프레임수(#)
_height             높이(#)
_name               인스턴스(string)
_rotation           회전값(#)
_soundbuftime       사운드버퍼링 시간(기본값 5초:#)
_totalframes        총프레임수(#)
_url                다운로드한 URL(string)
_visible            보인다,안보인다 (true,false)
_width              가로길이(#)
_x                  x좌표(#)
_y                  y좌표(#)
_xmouse             마우스x좌표(#)
_ymouse             마우스y좌표(#)
_xscale             x배율(%)
_yscale             y배율(%)
----------------------------------------------------------------------------
_root.a.play;                    //  메인에 있는 a무비클립  프레임 재생
_root.a.stop;                    //  메인에 있는 a무비클립  프레임 중지
play();                          //  stop으로 정지된 현재타임라인의 프레임 재생
stop();                          //  현재타임라인의 프레임 중지
gotoAndPlay(1);                  //  현재 Scene의 1프레임 재생
gotoAndPlay("a");                //  현재 Scene의 Label명 a 재생
gotoAndPlay("Scene 2", "c");     //  Scene 2의 Label명 c 재생
a.gotoAndPlay(1);                //  a무비클립의 1프레임 재생
gotoAndStop(1);                  //  현재 Scene의 1프레임 중지
nextScene();                     //  다음 장면의 프레임 1로 보내고 중지
prevSecne();                     //  이전 장면의 프레임 1로 보내고 중지
nextFrame();                     //  다음 프레임으로 보내고 중지
prevFrame();                     //  이전 프레임으로 보내고 중지
toggleHighQuality ();            //  저해상도와 고해상도 간을  전환
updateAfterEvent();              //  화면을 갱신 (onClipEvent 핸들러 내에서만 사용)
                                 //  (onMouseDown,  onMouseUp,  onMouseMove)
----------------------------------------------------------------------------
tellTarget ("../a") { nextFrame(); } //  ../a 무비클립을 호출후 다음 프레임 재생
if (_framesloaded = 10) {  }         // 만약 무비의 10프레임이 로드되면
----------------------------------------------------------------------------
// with 문
for (i=0; i<1000; i++) {
   with (aaa[i]) {
      _x = Math.floor(Math.random() * 500);
      _y = random(500);
      _rotation = random(360);
  }
}
// tellTarget 문 (속도빠름)
for (i=0; i<1000; i++) {
   tellTarget (aaa[i]) {
      _x = Math.floor(Math.random() * 500);
      _y = random(500);
      _rotation = random(360);
   }
}
----------------------------------------------------------------------------
aaa = new Array();              // 배열 초기화    
aaa = new Array("1","2","3");   // 배열값 넣기
bbb = ["Sun","Mon","Tue"];      // 배열값 넣기
aaa[1] = "abc";                 // 배열값 변환  ( "2" 가 "abc" 로 변환)
aaa[0] = "Jan" ;  aaa[1] = "Feb" ;  aaa[2] = "Mar" ;         // 배열값 변환
aaa[3] = "Apr"                  // 배열 추가 (aaa 값은  "Jan,Feb,Mar,Apr" )
ccc = aaa.concat(bbb);          // 배열 합침 (ccc 값은  "Jan,Feb,Mar,Apr,Sun,Mon,Tue" )
ddd = ccc.join("/");            // ,를  /로 변환  (ddd 값은  "Jan/Feb/Mar/Apr/Sun/Mon/Tue" )
ddd = ccc.length;               // 배열값 갯수 (ddd 값은  7 )
ddd = ccc.slice(2,4);           // 배열값 읽기 (ddd 값은  "Mar,Apr" )
eee = ccc.push("z","zz");       // 배열추가후  배열값 갯수 (eee 값은  9 )
                                //  (ccc 값은 "Jan,Feb,Mar,Apr,Sun,Mon,Tue,z,zz"   로 변함)
eee = ccc.pop();                // 마지막 배열 분리후 값  (eee 값은  "zz" )
                                //  (ccc 값은  "Jan,Feb,Mar,Apr,Sun,Mon,Tue,z"   로 변함)
eee = ccc.shift();              // 첫번째 배열 분리후 값 (eee 값은  "Jan" )
                                //  (ccc 값은  "Feb,Mar,Apr,Sun,Mon,Tue,z"   로 변함)
eee = ccc.reverse();            // 배열값 순서바꿈 (eee 값은  "z,Tue,Mon,Sun,Apr,Mar,Feb" )
                                //  (ccc 값도  "z,Tue,Mon,Sun,Apr,Mar,Feb"   로 변함)
eee = ccc.splice(2,5,"x","xx","xxx");  // 배열값 읽기후  변환  (eee 값은  "Mon,Sun,Apr,Mar,Feb" )
                                       //  (ccc 값은  "z,Tue,x,xx,xxx"   로 변함)
eee = ccc.unshift("1","2");     // 첫번째 배열추가후  값  (eee 값은  "7" )
                                //  (ccc 값은  "1,2,z,Tue,x,xx,xxx"   로 변함)
sss = new Array(1,2,3);         // 숫자 배열값 넣기
uuu = sss.toString();           // 문자로변환.  결과는 1,2,3
vvv = uuu.toLowerCase();        // 대문자를  소문자로 변환.  원래 값은 변경되지 않음      
vvv = uuu.toUpperCase();        // 소문자를  대문자로 변환.  원래 값은 변경되지 않음  
xxx = Number("111")             //  숫자로 변환.   결과는 111
xxx = Number("aaa")             //  숫자로 변환.   결과는 NaN
xxx = Number(true)              //  숫자로 변환.   결과는 1
xxx = Number(false)             //  숫자로 변환.   결과는 0
----------------------------------------------------------------------------
aaaAry = new Array();              // 2차원배열 사용하기   (5 * 5  배열)
aaasubAry0 = new Array();
aaasubAry1 = new Array();
aaasubAry2 = new Array();
aaasubAry3 = new Array();
aaasubAry4 = new Array();
aaasubAry5 = new Array();
aaaAry[0] = aaasubAry0;  
aaaAry[1] = aaasubAry1;  
aaaAry[2] = aaasubAry2;  
aaaAry[3] = aaasubAry3;  
aaaAry[4] = aaasubAry4;  
aaaAry[5] = aaasubAry5;  
for(i=0;i<6;i++) {
     for(j=0;j<6;j++)  {
        aaaAry[i][j]=  " ==> " + i  + " * " + j  + " value" ;
        trace( i  + " * " + j  +  aaaAry[i][j]);
     };
};
trace(aaaAry[1][2]);
trace(aaaAry[4][5]);
----------------------------------------------------------------------------
cliparray = new Array();                     // 무비클립을 배열로 저장하기
for (a=1; a<=3; a++)  {
    cliparray[a] =  _root["clip"+a];
    cliparray[a].x =  _root["clip"+a]._x;
    cliparray[a].y =  _root["clip"+a]._y;
    trace(cliparray[a].x);
    trace(cliparray[a].y);
}
----------------------------------------------------------------------------
myString = new String();                           // 문자 변수초기화    
myString = new String("가나다");                   // 문자 넣기
tet="가나다";   myString = new String(tet);        // tet  변수 넣기
text0=myString.charAt(0);                          // text0 값은 "가"  -  1개 읽기
text1=myString.charAt(1);                          // text1 값은 "나"  -  1개 읽기
text2=myString.charAt(2);                          // text2 값은 "다"  -  1개 읽기
text3=myString.concat("라마","바사","다");         // text3 값은 "가나다라마바사다"  -  추가
text4=text3.substr(2,4);                           // text4 값은 "다라마바"  -  여러개 읽기
text5=text3.substring(2,4);                        // text5 값은 "다라"  -  여러개 읽기
text6=text3.slice(2,4);                            // text6 값은 "다라"  -  여러개 읽기
text7=myString.charCodeAt(1);                      // text7 값은  45208  - 문자를 코드화
text8="a" + String.fromCharCode(64) + "m";         // text8 값은 "a@m"  - 코드를 문자화
text9= text3.indexOf("다");                        // text9 값은 2  -  문자위치
text10= text3.lastIndexOf("다");                   // text10 값은 7  -  마지막 문자위치
text11= text3.length;                              // text11 값은 8  -  문자길이
text12= text3.split("나");                         // text12 값은 "가,다라마바사다"  -  문자분리
text13= text6.concat(text3);                       // text13 값은 "다라가나다라마바사다"  -  문자합침
text14= text13.substr((text13.length-1),1);        // text14 값은 "다"  -  마지막 문자 읽기
sss = myDate.toString();  day = sss.substring(0,3);     // 문자로변환        
----------------------------------------------------------------------------
// aaa 문장을 bbb 배열로 저장하기                  // 문장을 배열로 저장하기
// 결과는 bbb[0]="a" bbb[1]="b" bbb[2]="c" bbb[3]="d" bbb[4]="e"
aaa = "a b c d e";
aaalen = aaa.length;
bbb = new Array();
for (a=0; a<=aaalen; a++)  { bbb[a] = "";  };
bbbno = 0;   bbbchr = "";
for (a=0; a<=aaalen; a++)  {
if ( aaa.charAt(a) == " " ) {  bbb[bbbno] = bbbchr;   bbbno += 1;   bbbchr = "";  
} else { bbbchr += aaa.charAt(a);   };
};
for (a=0; a<=bbbno; a++)  {  trace( "*" + bbb[a] + "*" )   };  
----------------------------------------------------------------------------
for (a=1; a<=22; a++) {                                       // 텍스트 필드 글자속성
       this["k"+(a)].textColor=0xff0000;
       this["k"+(a)].border=true;
       this["k"+(a)].borderColor=0xff0000;
       this["k"+(a)].background=true;
       this["k"+(a)].backgroundColor=0xffffff;
};
----------------------------------------------------------------------------
TextField.removeTextField();                                   // 텍스트 필드 삭제
----------------------------------------------------------------------------
createTextField ("instanceName", depth, x, y, width, height)   // 텍스트 필드 생성
     instanceName 새 텍스트 필드의 인스턴스 이름
     depth 새 텍스트 필드의 깊이를 지정하는 양의 정수 (2 는 1를  screen over)
     x 새 텍스트 필드의 x 좌표를 지정하는 정수
     y 새 텍스트 필드의 y 좌표를 지정하는 정수
     width 새 텍스트 필드의 넓이를 지정하는 양의 정수
     height 새 텍스트 필드의 높이를 지정하는 양의 정수
instanceName.type = "dynamic";               // 텍스트 필드의 기본 속성  (dynamic 또는 input)
instanceName.autoSize = false;               // (글자수에 맞게 테두리 크기 자동 조절 true false center right)
instanceName.border = false;                 // (테두리)  
instanceName.borderColor = 0xff0000;         // (테두리 색상)  
instanceName.background = false;             // (배경)
instanceName.backgroundColor=0xffffff;       // (배경 색상)
instanceName.textColor = 0xff0000;           // (글자 색상)
instanceName.multiline = false;              // (한줄  또는  여러줄)
instanceName.selectable = true;              // (텍스트 필드를 선택할 수 있는지 여부)
instanceName.maxChars = null;                // (사용자가 입력할 수 있는 최대 문자 수) (null 이면 무한대)
instanceName.length = 0;                     // (글자 수)
instanceName._name = "";                     // (인스턴스 이름)
instanceName.variable = "";                  // (변수 이름)
instanceName.html = false;                   // (html 태그 사용 여부)
instanceName.htmlText = "";                  // (html 태그)
instanceName.wordWrap = true;                // (자동 줄바꿈 )
instanceName._x = 0;                         // (x 좌표)
instanceName._y = 0;                         // (y 좌표)
instanceName._width  = 0;                    // (넓이)
instanceName._height = 0;                    // (높이)
instanceName._xscale = 100;                  // (넓이 조절 %)
instanceName._yscale = 100;                  // (높이 조절 %)
instanceName.restrict = "";                  // (입력할 수 있는 문자 세트)
instanceName.embedFonts = false;             // (장치 글꼴 사용 여부)
instanceName.password = false;               // (****표시)
instanceName._visible =  true;               // (보임/안보임.  false로 설정된 텍스트 필드는 사용할 수 없음)
instanceName.scroll = 0;                     // (현재 스크롤 수직 위치)
instanceName.hscroll = 0;                    // (현재 스크롤 수평 위치)
instanceName.maxscroll = 0;                  // (TextField.scroll의 최대값)
instanceName.maxhscroll = 0;                 // (TextField.hscroll의 최대값)
instanceName.text = "";                      // (글자)

myformat = new TextFormat();                 // 텍스트 필드의 기본 TextFormat 속성
myformat.align = "left";                     // (단락의 정렬 )
myformat.blockIndent  = 0;                   // (왼쪽 여백에서 블록 들여쓰기. 포인트 단위)
myformat.indent  = 0;                        // (왼쪽 여백에서 단락 들여쓰기. 각 단락의 첫 줄에만 적용)
myformat.bold = false;                       // (텍스트가 굵은체로 표시되는지 여부)
myformat.bullet = false;                     // (텍스트가 불릿 목록에 있는지 여부 * 표시)
myformat.color  = 0x000000;                  // (텍스트의 색상)
myformat.font = "Times New Roman";           // (텍스트의 글꼴)
myformat.italic = false;                     // (텍스트가 기울임체로 표시되는지 여부)
myformat.leading  = 0;                       // (줄 사이의 행간 세로 간격)
myformat.leftMargin  = 0;                    // (단락의 왼쪽 여백 포인트 단위)
myformat.rightMargin  = 0;                   // (단락의 오른쪽 여백 포인트 단위)
myformat.tabStops = [];                      // (사용자 정의 탭 중지를 지정 // (empty array))
myformat.target = "";                        // (브라우저에서 하이퍼링크가 표시되는 창)
myformat.size = 12;                          // (텍스트의 크기)
myformat.underline = false;                  // (텍스트에 밑줄이 그어졌는지 여부)
myformat.url = "";                           // (텍스트가 링크되는 URL)

instanceName.text = "this is my test field \r aaa" + "bbb";    // 텍스트에 내용 넣기
instanceName.setTextFormat(myformat);        //  텍스트 필드의 TextFormat  변경
----------------------------------------------------------------------------
instanceName.restrict = "A-Z 0-9";           // 대문자, 공백, 숫자만 입력할 수 있음
instanceName.restrict = "^a-z";              // 소문자를 제외한 모든 문자를 입력
instanceName.restrict = "A-Z^Q";             // 대문자 Q를 제외한 대문자만 입력
instanceName.restrict = "\\-"            

'#Works > 스크립트,CSS,HTML' 카테고리의 다른 글

movieclip 경로문제  (0) 2007.10.23
플래쉬 exe로 만들때 loadmovie 문제..  (0) 2007.10.23
플래쉬 액션스크립트 모음집  (0) 2007.02.05
ajax  (0) 2007.01.16
링크 점섬 빼기  (0) 2007.01.16
테이블을 버튼처럼..  (0) 2007.01.11
Posted by 도깨비^^

댓글을 달아 주세요

브랜드 경영

(철호 /성신여대 경영학과 교수, 산업정책연구원장)

마케팅 월간지 2001 7월호

하루에도 수천 명의 사람이 출생하고 사망하듯이, 하루에 수많은 브랜드가 출시되고 사라진다. 어떤 브랜드들은 소비자들의 기억 속에 자리잡기도 전에 사라지는가 하면, 어떤 브랜드들은 소비자들의 사랑을 듬뿍 받으며 장수의 기쁨을 한껏 누리기도 한다.

그렇다면, 과연 이러한 브랜드들간의 차이점은 무엇일까? 이는 출시초기부터 브랜드 라이프 사이클(Brand Life Cycle) 고려한 적절한 전략 수립과 실행 그리고 지속적인 브랜드에 대한 관리상의 차이 때문일 것이다. 장수 브랜드는 이름 하나만으로 기업에게 엄청난 부가가치를 창출케 한다. 100년이 넘는 역사를 지닌 코카콜라(Coca-Cola) 말보로(Marlboro) 예를 살펴보자. 어디서나 맛이 한결같은 음료수로 세계인의 청량음료가 코카콜라는 영국의 브랜드 자산가치 평가기관인 인터브랜드사의 2000 평가 결과 자산가치가 무려 100조원에 달하는 것으로 세계 1 브랜드로 평가되었다. 100년이 넘도록 이름, 제품 포장, 광고, 색상 디자인 등을 한결같이 유지하면서 세계를 평정하고 있는 필립모리스(Philip Morris) 대표 브랜드인 말보로도 자산가치 평가결과 30조원에 달하는 것으로 평가되었다.   

그러나 이러한 브랜드 자산은 하루아침에 구축되는 것이 아니며, 꾸준한 관리와 적절한 전략 수립에 의해서 만이 가능하다. 따라서 필자는 21세기 기업환경에서의 브랜드 자산의 중요성과, 강력한 브랜드 자산 구축 방법을 사례를 통해 살펴보고자 한다. 

브랜드에 대한 중요성이 강조되는 가장 이유 중에 하나는, 브랜드가 기업의 가치를 창조하는 하나의 무형자산으로 인식되고 있다는 것이다. 그러나 이러한 브랜드가 학문적으로나 실무적으로 자산으로서 가치를 가지기 시작한 것은 1980년대부터라고 있다. 1980년대 미국뿐만 아니라 유럽에서 기업의 인수합병(M&A) 성행하게 되면서 적대적 기업매수와 같은 외부의 공격으로부터 자사를 보호하기 위한 수단으로 브랜드 가치를 화폐금액으로 환산하여 대차대조표에 무형자산으로 계상하게 되었다. 대표적인 예로, 영국의 Ranks Hovis McDougall사는 1988 60개에 달하는 자사의 브랜드 가치를 12억달러로 평가하여 대차대조표에 포함시켰으며, 네슬레(Nestle)사는 1988 Rowntree사를 인수하면서 주식가격의 3배에 달하는 금액을 지불하였다. 두가지 경우 모두 브랜드 가치에 대해서 영업권을 인정한 것이라고 있다. 최근에는 미국의 존슨사가 삼성제약이 부도가 나자 삼성제약을 387억원에 인수하였는데, 이중 '에프킬라'브랜드로 297억원을 지불해서 화제가 되기도 하였다.

이렇듯 브랜드는 기업의 가치를 평가하는 하나의 중요 요인으로 강조되면서 브랜드 가치중심의 경영이 기업경영의 핵심전략으로 등장하게 것이다. 이제 브랜드는 기업의 얼굴이며, 소비자들은 제품이 아닌 브랜드를 구매하고 브랜드를 통해 경험을 창출하게 된다. 아마존 닷컴의 제프 베조스 회장은 "많은 사람들이 아마존에 몰리는 것은 아마존이 값이 싸거나, 구입이 수월하기 때문이 아니라 그것이 아마존이기 때문이다." 라고 말한 것처럼 소비자들에게 각인된 브랜드는 기업의 자산으로서의 가치를 가지게 되는 것이다.    

글로벌 경쟁이 심화되고, 시장에서의 경쟁이 가격에서 품질 그리고 브랜드라는 무형의 가치로 이전되면서 국내 기업들에게도 브랜드를 기업의 자산으로 인식하고 관리하려는 노력이 확산되어 지고 있다. 얼마 까지만 해도 국내 기업들에게 브랜드는 단지 제품의 식별수단의 정도로 인식되어져 왔던 것이 사실이다. 따라서 이러한 인식의 전환은 반가운 일이 아닐 없다.

그러나 브랜드의 중요성에 대한 인식의 전환도 필요하지만, 글로벌 경쟁이 심화되고 시장에서의 경쟁이 가격과 품질에서 브랜드라는 무형자산으로 이전되고 있는 21세기 시장환경을 고려할 무형자산으로서의 브랜드 자산을 제대로 육성하고 강력한 자산으로서의 가치를 유지할 있도록 하기 위한 전략적 브랜드 관리가 절실하다고 있겠다. 따라서 국내브랜드의 자산가치를 향상시키고, 글로벌 브랜드로 육성하기 위해서는,

첫째, 기업경영을 브랜드 경영으로 전환하는 것이 무엇보다 시급하다고 있다. 국내 기업은 제품 중심으로 조직이 구성되어져 있는 것이 현실이다. 따라서 마케팅 조직을 브랜드 중심(Brand Manager) 조직으로 개편해야 한다. 이제 제품을 파는 것이 아니라 브랜드를 파는 것이고 소비자들은 브랜드를 통해 경험과 이미지 그리고 경험을 창출 있게 된다. 현재 우리 기업은 브랜드 자산을 누가 어떻게 관리해야 모르고 있다. 브랜드 자산이 얼마인지, 어떻게 변화하고 어떻게 관리되어져야 하는지 모르고는 올바른 경영을 없다. 브랜드 매니저제도(Brand Manager: BM) 통한 브랜드 관리 시스템(Brand Manager System) 도입하고 이를 전략적으로 운영하여야 한다. 

예로, 일찍이 브랜드를 자산으로 인식하고 경영해온 P&G(Procter & Gamble) 살펴보자. P&G 오늘날 140여개국에 제품을 판매하여, 전세계적으로 10만여명의 종업원을 두고 있는 명실상부한 글로벌 기업중의 하나가 되었다. 이러한 성공의 요인은 브랜드 매니저 제도(Brand Manager System) 도입과 운영에서 찾아볼 있겠다. P&G 1931 가장 먼저 브랜드 매니저(Brand Manager: BM)제도를 도입하여 성공한 기업으로 유명하다. P&G 이러한 제도를 통해서 신제품 개발 제품의 품질관리에서부터 유통에 이르기까지 브랜드에 관한 중장기적인 운영방안과 경쟁전략을 수립한다. 이것은 P&G 브랜드를 찾는 단골고객을 확보하는 동인이자 힘이 되고 있다고 보아야 것이며, 따라서 고객에게 고유한 가치를 제안하는 차별화된 브랜드의 운영관리 능력은 바로 P&G 핵심역량이라 있겠다. 

둘째, 브랜드 경영을 전사적으로 운영할 있는 최고경영자의 인식의 전환과 적극적 지원이 필요하다. 

글로벌 브랜드력을 지닌 회사로 발전한 SONY 살펴보면, 창업자 모리타 아키오의 브랜드 경영이 오늘날의 SONY 있게 원동력으로 작용했음을 있다. "나는 항상 브랜드야말로 기업의 생명이며 과감히 보호되어야 한다고 생각해 왔다. 브랜드나 회사명은 고객과의 약속을 지키고 제품의 품질을 보장하는 것이다"라며 브랜드의 중요성을 강조해 왔다. 일례로 창업초기 트랜지스터 라디오로 미국시장에 진출하려 , 미국 블로바에서 OEM조건으로 10만대 수출제안을 받았으나 이를 거절하였다. , 눈앞의 이익보다는 미래의 가치를 창출해 있는 브랜드력을 강화하기 위해 노력했으며, 현재는 소니만의 스타일(Sony Style) 가지고 고품질의 제품을 공급하는 회사로 자리잡을 있었던 것이다.

셋째, 시장에서의 브랜드 가치의 유지 존속을 위해서는 브랜드 라이프 사이클(BLC) 맞는 적절한 MPR(마케팅 PR) 요구되어진다. 매년 수많은 브랜드가 탄생하지만 몇몇 브랜드만이 생존하고 장수하는 것은 적절한 MPR전략이 부재했기 때문이다. 상품이 등장하면서는 적절한 광고가 있어야 하며, 시장에 진입해서는 수명을 최대한 연장하고, 소비자들의 끝임없는 사랑을 받을 있도록 하는 홍보가 필요하다. 브랜드의 탄생은 광고이지만 그것을 강건하게 유지 존속할 있게 하는 것은 홍보에 의해서 이루어진다는 것을 명심해야 것이다. 대표적 시계 브랜드인 스와치(swatch) 스위스의 시계산업의 위기를 극복한 사례로 유명하다. 스와치 시계는 '패션 브랜드'라는 이미지를 소비자들에게 심어줌으로서 가치를 높였는데, 스포츠 대회의 후원과 영화제작의 지원 등을 통해 브랜드화에 성공할 있었던 것이다. 한예로, '커피를 갈아 금으로 만드는 기업'으로 평가받고 있는 스타벅스도 연간 10억달러의 매출을 기록하고 있지만 10년간의 광고비는 1,000 달러를 넘지 않는다. 이것은 바로 스타벅스에 맞는 적절한 홍보전략이 있었기 때문이다. 또한 바디샵(Body Shop) 환경에 대한 아이디어를 신문, 잡지, 인터뷰 등을 통해 적극 홍보하면서 브랜드의 명성을 얻게 것이다.

브랜드 자산가치는 속성상 눈에 보이지 않기 때문에 브랜드 가치는 오랜 시간을 가지고 꾸준한 관심과 브랜드 경영에 의한 전략적 투자가 필요하다. 또한 오랜 세월에 걸쳐 축적된 자산이므로 효과 또한 오랜 기간에 걸쳐 지속될 있는 것이다. "쓰면 쓸수록 가치가 더해지는 것이 바로 브랜드 자산"이다. 이제 우리는 고부가가치 창출의 핵심인 브랜드 자산가치의 효율적 관리를 위한 브랜드 경영에 꾸준한 관심을 가지고 투자를 아끼지 말아야 것이다.

Posted by 도깨비^^

댓글을 달아 주세요