정식으로 책사서 배운게 아니라 그냥 만지작 거리면서 터득한거라 느낀점을 얘기해 드리겠음
첫번째 난 동영상을 볼꺼다! , 난 마우스를 클릭할꺼다! - 메인설정이 필요함
두번째 난 명령을 실행할꺼다! - 명령을 제작하는 방을 만든다 { 내방~ }
세번째 넌 멈춰, 넌 재생해, 넌 사진불러와 , 넌 인터넷창 띄워! - 자잘한 명령어들을 입력하는것
(예제)
버튼인스턴트이름.addEventListener(MouseEvent.CLICK, mcClick); <--첫번째!
function mcClick(e:MouseEvent):void <--두번째!
{
navigateToURL(new URLRequest("링크")); <--세번째! (참고로 인터넷 링크띄우기)
}
//만약 로고 같은거 만들때 allowfullscreen="true" wmode="transparent" <-- 팝업창뜸 안만들꺼면 맘데로 써도됨
//화면비율 4개중 하나만 ㅡㅡ+ 중복 안됨
stage.scaleMode = StageScaleMode.EXACT_FIT;
(화면크기에따라 비율이 변합니다 꽉찬화면)
stage.scaleMode = StageScaleMode.SHOW_ALL;
(가로세로중 하나라도 꽉차면 비율확장을 그만두고 보여줌)
stage.scaleMode = StageScaleMode.NO_BORDER;
(가로세로 모두찰때까지 비율대로 커짐 비율이 한쪽으로 기울어 있으면 그 긴쪽은 짤린다는말)
stage.scaleMode = StageScaleMode.NO_SCALE;
(원본비율 유지합니다 플레이어나 화면이 원본보다 작으면 내용이 짤릴수 있습니다)
출처:scaleMode
//(로고)버튼URL 만들기
버튼인스턴트이름.addEventListener(MouseEvent.CLICK, mcClick);
function mcClick(e:MouseEvent):void
{
navigateToURL(new URLRequest("링크"));
}
//만약 더 만들고 싶으면 버튼인스턴트를 하나더 만들고 이름만 바꿔서 입력하면된다
//참고용 navigateToURL(new URLRequest("링크"),"_blank"); (_blank 새창&현제창 바꿀수있음 링크태그참조)
//로고 클릭시 재생그만둔다
logo.addEventListener(MouseEvent.CLICK, mcClick);
function mcClick(e:MouseEvent):void
{
if(k.playing)
{
k.pause();
}else{
k.pause();
}
{
navigateToURL(new URLRequest("http://123.com"),"_blank");
}}
//아직 용어나 그런건 잘 모르겠지만 3단계중 맨 마지막 하청인 조건문인거 같다
//로고만들기처럼 주소만 명령인데 저기에 조건문으로 플레이 할껀지 말껀지를 결정할수도있다
//참고하자... 로고 만들때 유용하다 이것때문에 꾀 해매었음 (전문적으로 배우는게 아니니 감으로 찾아냄)
//왼쪽클릭 [재생/일시정지]
import fl.video.FLVPlayback;
bt.addEventListener(MouseEvent.CLICK, _click);
function _click(e:MouseEvent):void
{
if (k.playing == true) // true false 는 == 붙여준다
{
k.pause();
} else {
k.play();
}
}
//오른쪽 클릭시 [재생/일시정지] 버튼생성
//필수
var myContextMenu:ContextMenu = new ContextMenu();
myContextMenu.hideBuiltInItems();
//기본옵션을 숨기기
this.contextMenu = myContextMenu;
//오른쪽마우스 이벤트
//--------------------------------------------------------------
//+옵션 [주소링크] (두개를 비슷한 함수 위치에 혼합하면된다)
var myItem1:ContextMenuItem = new ContextMenuItem("주소링크");
myItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function 납치(e:ContextMenuEvent):void {navigateToURL(new URLRequest("http://www.naver.com"))});
myContextMenu.customItems.push(myItem1);
//---------------------------------------------------------------
//+옵션 [전체화면] (두개의 비슷한 함수 위치에 혼합하면된다)
var myItem2:ContextMenuItem = new ContextMenuItem("전체화면");
myItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, sorry);
myContextMenu.customItems.push(myItem2);
function sorry(e:ContextMenuEvent):void
{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
//function이 실행부분 sorry는 핸들러라는데 이름같은거
//----------------------------------------------------------------
//+옵션 [재생/정지] (버튼만들기)
var myItem2:ContextMenuItem = new ContextMenuItem("재생/정지");
//메뉴생성
myItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, playAndStopHandler);
//메뉴의 레시피정의
myContextMenu.customItems.push(myItem2);
//메뉴그룹
function playAndStopHandler(e:ContextMenuEvent):void
{
if(k.playing)
{
k.pause();
}else{
k.play();
}
}
//-----------------------------------------------------------------
//그냥 문자만 넣기 (순차적으로 위에부터 배열된다) A1은 선언같은거니 2번째껀 A2 이런식
var A1:ContextMenuItem = new ContextMenuItem("하고싶은말");
myContextMenu.customItems.push(A1);
//-----------------------------------------------------------------
//무한반복 만들기
//1번째
import fl.video.VideoEvent;
k.autoRewind = true;
k.addEventListener(fl.video.VideoEvent.REWIND, _rewind);
function _rewind(e:fl.video.VideoEvent):void
{
trace("완료");
MovieClip(this.root).k.play();
}
//2번째
import fl.video.VideoEvent;
k.addEventListener(fl.video.VideoEvent.COMPLETE, _complete1);
function _complete1(e:fl.video.VideoEvent):void
{
k.play();
}
//연속플짤 만들기
var ㅂㅂ:Boolean = false;
var ㅇㅇ:Boolean = true;
//
import fl.video.VideoEvent;
//비디오 이벤트를 불러오는거에요
var _Array:Array = [
"flv주소"
];
//"flv주소", <-콤마로 연결 마지막 주소엔 콤마X "Flv주소"
var i:int = 0;
var l:int = _Array.length;
//위에 영상 배열의 길이를 뽑아내는 거에요
mov1.addEventListener(fl.video.VideoEvent.COMPLETE, _complete1);
//mov1,mov2 도 각각 플레이어화면의 인스턴스 이름
mov2.addEventListener(fl.video.VideoEvent.COMPLETE, _complete2);
//각각 할당된 영상이 끝나면 특정한 함수가 실행되도록 이벤트리스너를 달아줘야해요
mov1.load(_Array[i+1]);
mov2.play(_Array[i]);
mov1.visible = false;
mov2.visible = true;
//_Array[i+1]을 먼저 로드해서 플레이 시키면 틈을 약간 줄일수 있어요
//그리고 배열에서 [0]은 첫번째 원소, [1]은 두번째 원소라는거 주의해 주세요
function _complete1(e:fl.video.VideoEvent):void
{
i++;
trace(i);
mov1.load(_Array[i+1]);
//역시 먼저로드를 해요
mov1.visible = false;
//끝났는데 보이면 안되죠
mov2.play();
//그리고 다른걸 재생시켜요
mov2.visible = true;
//다른건 보여야 되죠
if (i == l)
//만약 영상이 끝났을경우를 위해 달아주는거에요
{
trace("끝");
i=0;
//처음으로 돌리는거에요
mov2.play(_Array[i]);
//i가 0이라 했으니 첫번째 주소를 플레이해요
mov1.load(_Array[i+1]);
//다른건 두번째 영상을 준비하고요
mov1.visible = false;
mov2.visible = true;
//그다음 보이는 걸 설정해줘요
}
else if (i == l-1)
//이건 영상이 끝나기전 부분을 위해 달아줘요
//왜냐하면 저 위대로만 놓으면 끝나고 나서 잠깐 중간영상이 보일수 있기 때문이에요
{
mov1.load(_Array[0]);
mov2.play(_Array[i]);
mov1.visible = false;
mov2.visible = true;
}ㅂㅂ = false;
}
function _complete2(e:fl.video.VideoEvent):void
{
i++;
mov2.load(_Array[i+1]);
mov1.play();
mov2.visible = false;
mov1.visible = true;
trace(i);
if (i == l)
{
trace("끝");
i=0;
mov1.play(_Array[i]);
mov2.load(_Array[i+1]);
mov2.visible = false;
mov1.visible = true;
}
else if (i == l-1)
{
mov2.load(_Array[0]);
mov1.play(_Array[i]);
mov2.visible = false;
mov1.visible = true;
}ㅂㅂ = true;
}
//이것은 마찬가지니까 설명을 안할께요
var myItem1:ContextMenuItem = new ContextMenuItem("제작자보러가기");
var menuItem:ContextMenuItem = new ContextMenuItem("▶ll");
//"▶ll""제작자보러가기"이부분을 자기가 원하는데로
myItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink);
menuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, 재생정지);
var customContextMenu:ContextMenu = new ContextMenu();
customContextMenu.hideBuiltInItems();
customContextMenu.customItems.push(myItem1, menuItem);
this.contextMenu = customContextMenu;
function openLink(e:ContextMenuEvent):void{
navigateToURL(new URLRequest("http://gallog.dcinside.com/fanatic123"));
};
//주소만 바꿔주면 링크주소바뀜
import fl.video.VideoEvent;
function 재생정지(e:ContextMenuEvent):void
{if (ㅇㅇ)
{
if (!ㅂㅂ)
{
mov2.pause();
trace("mov2 pause");
}
else
{
mov1.pause();
trace("mov1 pause");
}
ㅇㅇ = false;
trace("pause");
}
else
{
if (!ㅂㅂ)
{
mov2.play();
trace("mov2 play");
}
else
{
mov1.play();
trace("mov1 play");
}
trace("play");
ㅇㅇ = true;
}
}
//카운트다운 만들기 (맨 하위명령으로 그냥 실행만함)
var fl_SecondsToCountDown:Number = 10;
var fl_CountDownTimerInstance:Timer = new Timer(4000, fl_SecondsToCountDown);
fl_CountDownTimerInstance.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler);
fl_CountDownTimerInstance.start();
function fl_CountDownTimerHandler(event:TimerEvent):void
{
trace(fl_SecondsToCountDown + " 초");
fl_SecondsToCountDown--;
}
//카운트다운후 실행 끝
내가 만든거 응용편 설명서
- 한개의 아이콘 클릭으로 20개 이상의 창을 띄우게 해준다 그대신 컴퓨터 느리신분은 부담된다...-
p1.addEventListener(MouseEvent.CLICK, mcClick);
function mcClick(e:MouseEvent):void
{
var a1:Number = 1; //한번의 카운트다운함
var a2:Number = 1;
var a3:Number = 1;
var a4:Number = 1;
var a5:Number = 1;
var a6:Number = 1;
var b1:Timer = new Timer(1000, a1); //1000 , 1초임
var b2:Timer = new Timer(2000, a2);
var b3:Timer = new Timer(3000, a3);
var b4:Timer = new Timer(4000, a4);
var b5:Timer = new Timer(5000, a5);
var b6:Timer = new Timer(6000, a6);
b1.addEventListener(TimerEvent.TIMER, c1); //이건지정
b2.addEventListener(TimerEvent.TIMER, c2);
b3.addEventListener(TimerEvent.TIMER, c3);
b4.addEventListener(TimerEvent.TIMER, c4);
b5.addEventListener(TimerEvent.TIMER, c5);
b6.addEventListener(TimerEvent.TIMER, c6);
b1.start(); //스타트!
b2.start();
b3.start();
b4.start();
b5.start();
b6.start();
function c1(event:TimerEvent):void //명령어!
{
navigateToURL(new URLRequest(http//www.123.com)); //주소
}
function c2(event:TimerEvent):void
{
navigateToURL(new URLRequest("http//www.123.com"));
}
function c3(event:TimerEvent):void
{
navigateToURL(new URLRequest("http//www.123.com"));
}
function c4(event:TimerEvent):void
{
navigateToURL(new URLRequest("http//www.123.com"));
}
function c5(event:TimerEvent):void
{
navigateToURL(new URLRequest("http//www.123.com"));
}
function c6(event:TimerEvent):void
{
navigateToURL(new URLRequest("http//www.123.com"));
}
}
싱글플레이어 연속재생방법
import fl.video.VideoEvent;
s1.visible = false;
//비디오 이벤트를 불러오는거에요
var _Array:Array = [
"주소",
"주소"
];
//"flv주소", <-콤마로 연결 마지막 주소엔 콤마X "Flv주소"
var i:int = 0;
var l:int = _Array.length;
//위에 영상 배열의 길이를 뽑아내는 거에요
s1.addEventListener(fl.video.VideoEvent.COMPLETE, _complete2);
//각각 할당된 영상이 끝나면 특정한 함수가 실행되도록 이벤트리스너를 달아줘야해요
s1.play(_Array[i]);
//_Array[i+1]을 먼저 로드해서 플레이 시키면 틈을 약간 줄일수 있어요
//그리고 배열에서 [0]은 첫번째 원소, [1]은 두번째 원소라는거 주의해 주세요
function _complete2(e:fl.video.VideoEvent):void
{
i++;
s1.load(_Array[i+1]);
s1.play(_Array[i]);
}
s3.addEventListener(MouseEvent.CLICK, _click);
function _click(e:MouseEvent):void
{
if (s1.playing == true) // true false 는 == 붙여준다
{
s1.pause();
} else {
s1.pause();
}
}
s2.addEventListener(MouseEvent.CLICK, _clicka);
function _clicka(e:MouseEvent):void
{
if (s1.playing == true) // true false 는 == 붙여준다
{
s1.play();
} else {
s1.play();
}
}
'info' 카테고리의 다른 글
배치파일 bat 파일 만들기 TEST (0) | 2011.02.12 |
---|---|
키넥트 + 미쿠미쿠댄스 (0) | 2011.02.06 |
Baba Yetu 문명하셨습니다. (0) | 2010.12.25 |
link 태그 (0) | 2010.12.05 |
JWplayer 설명서 (0) | 2010.12.05 |