project name : 영 소문자로 시작
web : 브라우저로 볼 수 있는 것.
desktop : 위젯 같은 것.
Application server type : 해당 와쓰 llcds251-win.exe 가 필요하다. // 디폴트:None
2.
작업하는 확장자 명 : mxml
결과물 : swf
실제 서버에 올릴 때는 swf, html, js 파일로 올린다.
3. source
===============================================================
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
</mx:Application>
===============================================================
xml 로 이루어져 있으므로 기본 선언부가 필요하다.
하나의 프로젝트에는 반드시 하나의 어플리케이션만 존재해야 한다.
<mx:Application 열고, </mx:Application> 닫고.
mx: name space
1.액션스크립트용.
2. xml용. : xmlns: mx 인데, http://www.adobe.com/2006/mxml 의 도움을 받아라. 라는 뜻.
4.
<button>
flex properties 의
id 는 숫자로 해서는 안되고,
on click : 함수명()
<combobox>
Data provider :라벨과 데이타를 연결해주는 부분, array 나 xml 을 이용하는데, 반드시 {} 로 싸줘야한다.
on change : 함수명()
5.
<?xml version="1.0" encoding="utf-8"?> <- 1차 선언부!!!
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[ : xml 이 아니라 프로그램으로 돌아가야 할 부분임을 말해주는 부분.
/* 주석
함수, 이벤트핸들러.. 등이 들어가는 부분
*/
// 주석
]]>
</mx:Script>
<!-- 주석 -->
<mx:Button x="41" y="34" label="Button"/>
<mx:ComboBox x="114" y="34"></mx:ComboBox>
</mx:Application>
6. 무조건 열면 닫는다.
단, <mx:Button x="41" y="34" label="Button"/> 한 줄은 마지막에 " /> "을 써주면 된다.
어플리케이션은 모두 소문자로.. 만들어라.
컴포턴트는 모두 대문자로 시작하므로 구분이 된다.
7. src 마우스 우측 클릭, mxml compenent
.
.
.
8. 좌하단 컴퍼넌트를 그대로 쓰지는 않는다. 무겁기 때문.
9.
C:\Program Files\Adobe\Flex Builder 3\sdks\2.0.1\frameworks\source\mx
공부해야 할 클래스들이 있는 곳.
10. 액션스크립트 3.0
as 확장자의 클래스 파일을 만드려면..
=====================================================
package mx.controls
{
=====================================================
클래스는 반드시 package 로 시작한다.
그 다음에는 해당 클래스 파일이 위치할 폴더 경로를 쓴다. (불필요하면 안 써도 된다. 누구나 사용하게 하려면..)
저것은 구조를 의미한다.
ruffi - src - mx - controls - button.AS 의 순으로 폴더가 쭈욱 ~
그리고. 사용할 클래스를 불러 온다.
import flash.display.DisplayObject;
>>>
import 다음에 불러올 해당 클래스를 적는데..
폴더 경로 . 해당 클래스 파일 이름
flash.display . DisplayObject;
예) as 파일 만들 때 (클래스파일 생성시)
package 경로명(mx.controls)
{
import 경로명.클래스명
class
{
변수 선언 variables
생성자 함수 {
}
메소드 {
}
함수 {
}
}
}
참고.. 빈 클래스도 있다.
* 클래스 이름과 파일이름은 반드시 똑같아야 한다.
* 생성자 함수를 만들게 되면 클래스 이름과 같아야 한다.
* 클래스명은 대문자로 시작한다.
===========================================
1. 어플리케이션 기본구조
2. 클래스 기본 구조
===========================================
===========================================
생성자함수란..
클래스 파일이 인스턴스 화 되었을 때 자동으로 생성되는데.. 기본 초기값을 가지고 있는 것. 예) 버튼 디폴트 모양.
인스턴스화 방법이 둘이다.
하나는 태그로 불러오은 것. 바로바로 쓸 수 있다. html 이나 자바스크립트처럼..
둘은 액션스크립트에서 불러오는 것. 반드시 생성을 해줘야 한다.
===========================================
디버거 할 때는.. 우상단 디버거 선택을 해야한다.
좌하단에 problems 칸에서는 CDATA 안의 에러를 많이 잡아준다.
Console 칸에서 Trace ...
===========================================
===========================================
메타태그 (메타데이터태그?)
[Embed] 외부 파일(이미지,) 불러올 경우, 이벤트 바꿔칠 경우
[bindable] 데이타 프로바이더를 위한 것
===========================================
변수 선언시, 앞에 접근 제한자를 붙여준다. 3.0 에서부터 internal..
클래스 변수(속성) : 변수가 메소드 밖에 정의, public, private, protected, internal과 같은
접근제한자가 필요.
가장 많이 쓰는 것 : private (내부에서 ..)
private(접근제한자) (한칸) var(펑션) (한칸) a(함수명) : 데이터타입 (= "값");
private 가 붙으면 다른 클래스에서 해당 변수 사용 불가.
width 같은 건 공통으로 사용하면 하나 바꿀 때 다 바뀌므로.. 주의한다.
===========================================
===========================================
Function 과 function 은 아주 다르다.
private var bb:Function; 변수에 데이터 타입 붙여줄 경우..
private function 함수명;
===========================================
스코프 법칙.
a=10
btn 하의 b=10
combo 하의 c=a+b
자신에게서 찾아 없으면 부모에게 가서 a 값은 가져올 수 있지만 다른 자식에게로 찾아가서 b 값을 가져오지 못하므로 실행 안됨.
반드시 어디의 a, 어디의 b 인지를 명기해주어라!
===========================================
클래스가 인스턴스화 된 것이 객체
mx:
new 키워드.. ad child 반드시 필요(??)
===========================================
속성에는 언더바(_)가 없다!!!
===========================================
import com.as3cd.utils.StringUtils;
import com.as3cd.utils.*; 도 가능.
include 사용 x
===========================================
플래시는 movie clip 이 기본 (timeline 이 있다.)
플렉스는 sprite 이 기본
===========================================
<CDATA>
import ExampleApp;
private var aa: Example new ExampleApp()
addchild(ExampleApp); // 필요한 부분과 그렇지 않은 부분을 구분하라..
===========================================
linestyle(a,b,c)
a: 선의 두께
b: 선의 색깔
c: 알파값
시작점 생략시 왼쪽 상단에서 시작.(0,0)
random(값) : 2.0이하에서 사용, 3.0 부터는 못씀.
3.0 에서부터는 Math.random() : 0부터 1 사이의 실수값 랜덤.
===========================================
숫자를 받고 싶다면 : number
문자 : string
===========================================
플렉스 컴파일이 안되면???
http://www.adobe.com/support/flashplayer/downloads.html
#######################################################################
오늘의 과제
C:\Program Files\Adobe\Flex Builder 3\sdks\2.0.1\frameworks\source\mx 안에 있는
alert.as 클래스 파일을 분석하라.
C:\Program Files\Adobe\Flex Builder 3\sdks\2.0.1\frameworks\source\mx\controls
도움 : http://cafe.naver.com/freeflux 에서 Flex Data 에서 찾으시오
#######################################################################