카테고리 없음

첫 수업

하늘치 2009. 1. 5. 20:54
반응형

1.

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 에서 찾으시오
#######################################################################

반응형