Multimedia Programming 23: More Flex

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

Multimedia Programming 21: By FLEX Departments of Digital Contents Sang Il Park.
Window media player 1. 윈도우 미디어 플레이어가 많이 끊길 때 윈도우 미디어 플레이어실행 > 도구 > 옵션 > 성능 > 연결 속도 > 연결 속도 선택 Lan(10Mbps) 선택 > 네트워크 버퍼링 버퍼 10 초 네트워크창 > 스트리밍 프로토콜 > UDP.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
응시 전 PC 확인 사항 응시 전 PC 확인 사항 ※ Toeic Speaking 의 정상적인 시험 응시를 위해 아래와 같이 PC 설정 상태를 확인합니다. ① PC 바탕하면 작업표시줄의 우측 하단 볼륨 아이콘에 마우스 커서를 올리고 마우스 오른쪽 클릭> 오디오 속성 조정.
발표자 : 박경성 박재현 지도교수 :이광세 교수님
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
Image & Video processing
.Net Web Application 2010 컴퓨터공학실험(Ⅰ)
윤 홍 란 다이알로그(대화상자) 윤 홍 란
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
QT 프로그래밍 발표: 김래영.
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
Chapter05 오디오와 비디오 HTML5 Programming.
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Communication and Information Systems Lab. 황재철
1. C++ 시작하기.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
Multimedia Programming 22: FLEX Basics
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
홈페이지용 그림 활용법 그림 삽입 태그 <IMG> 배경 그림 다루기 그림과 문자열의 어울림
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
프로그래밍 랩 – 7주 리스트.
Slice&link.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
2018년 10월 08일 박성진 Web & Internet [05] CSS3 속성 2018년 10월 08일 박성진
인터넷응용프로그래밍 JavaScript(Intro).
비주얼 프로그래밍 1분반 화/목.
C# 12장. 웹 응용 프로그램 제작.
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
홀인원2.0 설치 메뉴얼.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTML CSS 자바스크립트 무작정 따라하기
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
인터넷응용프로그래밍 JavaScript(Intro).
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
스위시 맥스2 이미지 갤러리 만들기 아래 그림이 스위시 맥스2로 만들 이미지 갤러리 이다.
8장. spss statistics 20의 데이터 변환
Chapter 34. Advanced Web Page Options
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
메뉴(Menu) 컴퓨터응용 및 실습 I.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
무선랜 사용자 설명서 (Windows Vista 사용자).
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
트위치 트게더 Twitogether 김준희.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
그래픽 컨트롤 (Graphic Control)
LABEL Print 설정 ▶ ZEBRA 설정 방법 1. 프린터 설정 LABEL
6 객체.
BoardGame 보드게임 따라가기.
Presentation transcript:

Multimedia Programming 23: More Flex Departments of Digital Contents Sang Il Park

Announcement Term Project 최종 발표 일시: 12월 11일(화요일), 13일(목요일) 각 팀 당 제한시간 15분 발표내용: Term Project 과제 설명 5분 구현 설명 5분 결과 설명 5분 일시: 12월 11일(화요일), 13일(목요일) 발표 슬라이드 준비 (pptx는 ppt로 바꾸어서 준비)

Announcement 발표 순서 12월 11일(화요일) 12월 13일(목요일) 2반 2-1조 2-2조 2-4조 2-5조 2-8조 1반 1-2조 1-3조 1-6조 1-7조 1-8조 1-9조 12월 13일(목요일) 2반 2-3조 2-6조 2-7조 2-9조 2-10조 1반 1-1조 1-4조 1-5조

Outline Review: Basic of Flex More Flex: a better video player

FLEX의 기본 문법 1. 처리지시문(process instruction)으로 시작한다 <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application>

FLEX의 기본 문법 2. 내용물인 원소는 Tag( < > )로 구성되어 있다. <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application>

FLEX의 기본 문법 3. Tag를 열었으면 반드시 닫아야 한다. <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application>

FLEX의 기본 문법 3. Tag를 열었으면 반드시 닫아야 한다. 태그를 닫는 2가지 방법 하위 내용이 있는 경우 <태그> …… </태그> ex) <mx:Button></mx:Button> 하위 내용이 없는 경우 <태그/> ex) <mx:Button/>

FLEX의 기본 문법 4. Tag는 다른 하위 Tag를 포함 할 수 있지만 엇갈릴 수 없다. <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application>

FLEX의 기본 문법 4. Tag는 다른 하위 Tag를 포함 할 수 있지만 엇갈릴 수 없다. <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Application> </mx:Panel>

FLEX의 기본 문법 5. Tag이름이나 속성 이름은 대소문자를 구별한다 <mx:Button> <mx:button>

FLEX의 기본 문법 6. 태그의 속성은 하위 원소로 분리할 수 있다. <mx:Button label=“test”/> <mx:Button> <mx:label> test </mx:label> </mx:Button>

FLEX의 기본 문법 7. 루트 태그<ms:Application>는 하나여야 한다. <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application> Tag

네임스페이스 XML 태그를 확장하는 접두어 선택된 원소 안에서만 유효 루트 태그<ms:Application>에 네임스페이스를 정의한다 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> </mx:Application>

플렉스 컴포넌트 Visual Component Non-Visual Component 화면으로 나타낼 수 있는 것들 컨트롤 컴포넌트, 레이아웃 컴포넌트, 네비게이터 컴포넌트, 커스텀 컴포넌트, 차트 컴포넌드 Non-Visual Component 데이터 처리, 이벤트 처리 등의 프로그래밍 언어적 요소들을 위한 컴포넌트 <mx:Script> <mx:Model> <mx:XML> <mx:Array> …

컨트롤 컴포넌트 버튼, 체크 박스 등의 컴포넌트 공통된 속성 id 고유 내부 식별 이름 크기 속성 width, height 넓이, 높이 (픽셀값 or %) x, y 위치 (좌측상단 = 0,0) scaleX, scaleY 원래크기에 대한 비율 label 밖에 보이는 이름(라벨) text 텍스트 출력 관련 컴포넌트 경우 글의 내용

Button 기본적인 버튼 콘트롤러 일반적인 정의: <mx:Button id= “id명” label = “버튼명” color = “글씨색: ex) 0x0B33C” icon = “아이콘파일명” skin = “스킨 파일명” toggle = “true | false” buttonDown = “이벤트핸들러” click = “이벤트핸들러” />

LinkButton 마우스의 모양이 변하는 버튼 콘트롤러의 확장판 일반적인 정의: <mx:LinkButton id= “id명” label = “버튼명” />

CheckBox 항목 선택 시 사용하는 콘트롤러 버튼 콘트롤러의 확장판 일반적인 정의: <mx:CheckBox id= “id명” label = “체크박스에 나올 설명” labelPlacement = “right|left|top|bottom” color = “글씨색: ex) 0x0B33C” click = “이벤트핸들러” selected = “true | false” />

RadioButton 여러가지 중 선택하게 해주는 콘트롤러 버튼 콘트롤러의 확장판 일반적인 정의: <mx:RadioBox id= “id명” label = “라디오버튼에 나올 항목” labelPlacement = “right|left|top|bottom” color = “글씨색: ex) 0x0B33C” click = “이벤트핸들러” selected = “true | false” groupName = “라디오버튼 그룹명” />

ColorPicker RGB 색을 고를 수 있는 컴포넌트 <mx:ColorPicker id = “id명” selectedColor = “선택된 색 : ex) 0xFFFFFF showTextField = “true | false” changed = “색을 선택할 시의 이벤트핸들러” />

DateChooser 날자를 선택하는 달력 컴포넌트 <mx:DateChooser id = “id명” displayedYear = “Current Year” displayedMonth = “Current Month” showToday = “true | false” yearNavigationEnabled = “true | false” dayNames = “[“S”,”M”,”T”,”W”,”T”,”F”,”S”]” monthNames =“[“January”, … ]” changed = “날을 선택할 시의 이벤트핸들러” />

DateField TextInput과 DateChooser의 기능을 합쳐놓은 것 <mx:DateField id = “id명” formatString = “MM/DD/YYYY” close = “달력을 닫을 때의 이벤트핸들러” open = “달력을 열 때의 이벤트핸들러” />

HSlider/VSlider 슬라이더 조절바(thumb)를 움직여 값을 설정하는 컨트롤러 <mx:VSlider id = “id명” minimum = “최소값” maximum = “최대값” value =“초기 값” tickInterval =“0.5” // 눈금자 간격 snapInterval =“0.5” // 눈금 이동 간격 liveDragging =“true | false” thumbPress = “조절바가 눌렸을 때” thumbRelease = “조절바가 떨어질 때” change = “슬라이더 값이 변할 때의 이벤트” />

ProgressBar 작업의 진행사항을 표시하는 컴포넌트 <mx:ProgressBar id = “id명” minimum = “최소값” maximum = “최대값” direction = “right | left” indeterminate =“false | true” label =“[‘0’, ‘1’, ‘2’, ‘3’]” // 라벨 값 source =“표시하려는 작업 객체” complete = “작업 완료 시의 이벤트” progress = “작업 진행 시의 이벤트” />

Image 그림 출력 <mx:Image id = “id명” source = “경로명 or URL” />

SWFLoader 플래쉬 파일(또는 이미지) 출력 <mx:SWFLoader id = “id명” source = “경로명 or URL” autoLoad = “true | false” complete = “로드 완료 시 이벤트” progress = “로드 수행 중 이벤트” unload = “언로드 시 이벤트“ /> methods 설명 load (URL ) : void 이미지 또는 SWF 파일을 로드

VideoDisplay 비디오 파일을 재생 (웹서버에서 받아오거나, 플래시 미디어 서버에서 받아와야 함) <mx:VideoDisplay id = “id명” source = “경로명 or URL” autoPlay = “true | false” autoRewind = “true | false” live = “true | false” // 라이브 스트리밍 관련 volume = “소리크기 0~1 “ /> 참고 사이트: http://flexdocs.kr/docs/flex2/langref/mx/controls/VideoDisplay.html

VideoDisplay - method Video 재생을 컨트롤 하기 위한 맴버함수들 methods 설명 load ( ) : void 재생하지 않고 미디어 파일 로드 play ( ) : void 미디어 파일을 재생 pause ( ) : void 재생 헤드를 이동하지 않고 일시 정지 stop ( ) : void 재생을 정지 close ( ) : void 입력 스트림과 미디어 서버에의 접속을 강제 종료 properties 설명 playheadTime 현재 재생 부분 시간 (초) totalTime 총 길이 (초) volume 소리 크기 (0~1)

Data binding 서로 간의 값을 연관 시키는 것 (하나가 변하면 다른 것도 자동으로 변함) 서로 간의 값을 연관 시키는 것 (하나가 변하면 다른 것도 자동으로 변함) <mx:Label text = “text의 값: {myTxt.text}” /> <mx:TextInput id=“myTxt” />

dataProvider data가 필요한 컴포넌트들에게 값을 binding 시켜주는 속성 ComboBox/ DataGrid/ List/ HorizontalList/ TileList/Tree LineChart/ ColomnChart/ AreaChart/ BarChart/ … ButtonBar/ LinkBar/ TabBar/ ToggleButtonBar/ …

ArrayCollection 값을 저장하는 컴포넌트 source라는 속성에 값을 저장한다. <mx:ArrayCollection id="myAC"> <mx:source> <mx:Object label="한국" data="1" /> <mx:Object label="일본" data="2" /> <mx:Object label="미국" data="3" /> </mx:source> </mx:ArrayCollection>

여러 값을 표시하는 컴포넌트들 DataGrid ComboBox

DataGrid data를 spreadSheet처럼 보여주는 컴포넌트 <mx:DataGrid id = “id명” dataProvider = “ArrayColloection 또는 XML” editable = “true | false” />

ComboBox <mx:ComboBox id = “id명” dataProvider = “ArrayCollection / XML” dropdownWidth = “넓이 값” prompt = “초기 값” rowCount = “표시하는 줄의 수” selectedIndex = “선택한 아이템의 인덱스“ selectedItem = “선택한 아이템” change = “아이템을 선택할 때” open = “리스트를 오픈할 때” />

AllInOne 예제: ArrayCollection을 활용하는 예제: DataComponent.mxml ComboBox.mxml

Layout Component

 ActionScript 인터랙션 (interaction) 인터페이스 그 이상을 원한다면? 프로그래밍을 통한 좀 더 복잡한 잡업을 수행하고 싶다면?  ActionScript

ActionScript 기본적으로 C++ (OOP) 와 비슷하다. 간략 문법: 변수 선언: var 변수이름:DataType = 초기값; DataType  int/Number/String/Date/… Ex) var a:int = 3; var bigNumber:Number = 3.141592; var myName:String = “DiCon”;

ActionScript 기본적으로 C++ (OOP) 와 비슷하다. 간략 문법: 함수 선언: function 함수이름(param:DataType):retuenType { } Ex) function add(a:int, b:int) : int return a+b;

ActionScript In FLEX <mx:Script> <![CDATA[ // SCRIPT ]]>

동영상 플레이어 다시 만들기 동영상 플레이어의 기능 비디오 소스: play & stop (pause) 범위표시 (slider) 볼륨 조정 시간 표시 비디오 소스: http://dasan.sejong.ac.kr/~sipark/test.flv

동영상 플레이어 Layout VideoDisplay Panel Button HSlider Label play/ pause 0:00/0:00

동영상 플레이어 data binding VideoDisplay Panel Button HSlider Label play/ pause 0:00/0:00 click 시 play 또는 pause value는 playheadTime과 연동 change 시 playheadTime 변경

동영상 플레이어 data binding VideoDisplay Panel Button HSlider Label play/ pause 0:00/0:00 value는 volume과 연동 change 시 volume 변경

동영상 플레이어 data binding VideoDisplay Panel Button HSlider Label play/ pause 0:00/0:00 text는 playheadTime 과 연동

For those who want more… Adobe Air (Adobe Integrated Runtime): HTML, AJAX, ActionScript, FLEX 기반 application 제작 환경 장점: 크로스 플렛폼: Windows, Mac, Linux 빠른 실행 Flex또는 HTML 관련으로의 손쉬운 변환 단점: 제한된 접근성 (다른 프로그램을 실행할 권한이 없다. ) AIR는 adobe소유의 기술 (open되지 않았다.)