[CS3] 컨텐츠 교체되는 네비게이션 수정 Flash&FLEX

exchange_start(cs3).fla
exchange_start(cs3).swf



var mmNum = 4;                                          // 컨텐츠 갯수
var p_start = [];                                       // 컨텐츠 원래 위치
var m_speed = 0.2;                                      // 컨텐츠 이동 속도
var selectedMenu = 1;                           // 선택 메뉴 번호 저장

// 리스너
for(var i=1; i<=mmNum; i++)
{
        // 원래 위치 저장
        p_start[i-1] = [ this["content"+i].x, this["content"+i].y ];
        
        this["menu"+i].addEventListener(MouseEvent.CLICK, clickHandler);
        this["content"+i].addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}

// 핸들러
function enterFrameHandler(event:Event)
{
        var obj = event.currentTarget;
        var cid = obj.name.substring(7, 8);
        
        // 선택한 메뉴의 번호가 컨텐츠 번호 비교해서
        if(cid == selectedMenu)
        {
                // 일치하면 화면 가운데로 이동
                obj.pos_x = (stage.stageWidth - obj.width)/2;
                obj.pos_y = (stage.stageHeight - obj.height)/2;
        }
        else
        {
                // 일치하지 않으면 원래 위치로 이동
                obj.pos_x = p_start[cid-1][0];
                obj.pos_y = p_start[cid-1][1];
        }
        obj.mcMove(obj.pos_x, obj.pos_y, m_speed);
}

function clickHandler(event:Event)
{
        var obj = event.currentTarget;
        // 메뉴 번호 저장
        selectedMenu = obj.name.substring(4, 5);
}

// 프로토타입 설정
MovieClip.prototype.mcMove = function(tgX, tgY, speed)
{
        this.x += (tgX - this.x) * speed;
        this.y += (tgY - this.y) * speed;
}



* 소스는 '플래시 내비게이션 제작 테크닉'에서 발췌했습니다.

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://chez.egloos.com/tb/1838571 [도움말]

덧글

덧글 입력 영역