G_004.zip
var crtNum = 1; //현재 화면에 표시된 사진을 의미하는 번호
var imgNum = 5; // 전체 사진의 개수
var stageW = Stage.width; //스테이지의 가로 크기
var stageH = Stage.height; //스테이지의 세로 크기
_global.m_speed = 0.2; // 사진이 부드럽게 이동하는 속도
_global.a_speed = 0.05; //알파값이 서서히 증가하는 속도
MovieClip.prototype.mcMove = function(tgX, tgY, speed) { // 무비클립이 부드럽게 이동하는 기능을
this._x += (tgX - this._x) * speed; //mcMove 무비클립 메소드로 정의하고
this._y += (tgY - this._y) * speed; //알파값을 서서히 증가시키는 기능을
// mcalpha 무비클립 메소드로 정의
};
MovieClip.prototype.mcAlpha = function(alpha, speed) {
this._alpha += (alpha - this._alpha) * speed;
};
function showPhoto(crtNum) { //버튼을 클릭한 경우 호출할 사용자 정의 함수 showPhoto()를 선언
imageLoader._alpha = 0; //imageLoader무비클립 인스턴스의 알파값을 0으로 설정해서 현재화면에 표시된 사진을 보이지 않게 만든다
imageLoader.loadMovie("photo/photo"+crtNum+".jpg"); //imageLoader에 다음 사진을 로딩
myInterval = setInterval(checkLoaded, 100, imageLoader); //imageLoader로 로딩이 완료된 것을 체크한 후 화면 중앙으로 정렬시키기 위한
//좌표값을 계산하는 기능이 있는 checkLoaded 함수를 100밀리초 간격으로 실행하도록
imgInfo.text = crtNum + "/" + imgNum; // setInterval()함수를 사용한다.
} //전체 사진개수 중 몇 번째 사진인지를 imgInfo 다이나믹텍스트필드에 표시한다.
function checkLoaded(tg) {
var pctLoaded = tg.getBytesLoaded()/tg.getBytesTotal()*100;
preLoader._width = pctLoaded * 6;
if (pctLoaded==100) {
clearInterval(myInterval);
_global.newX = (stageW - tg._width)/2;
_global.newY = (stageH - tg._height)/2;
}
}
showPhoto(crtNum);
_root.onEnterFrame = function() { //알파값이 서서히 증가되면서 화면 중앙으로 움직이게 만든다.
this.imageLoader.mcMove(newX, newY, m_speed);
this.imageLoader.mcAlpha(100, a_speed);
};
this.nextBtn.onRelease = function() {
if (crtNum < imgNum) {
showPhoto(++crtNum);
}
};
this.prevBtn.onRelease = function() {
if (crtNum > 1) {
showPhoto(--crtNum);
}
};