디자인

[flash AS2.0 > flash AS3.0] 플래시 8 버전 매뉴 플래시 AS3.0버전으로 업그레이드 하기

bigwav 2008. 11. 18. 10:30

기존 AS2.0 매뉴플래시에 있던 매뉴 인스턴트 네임은 그냥 숫자 "1~5" 이런식이였다.
그것을 "menu1~menu5" 식으로 변경하였다.

두가지 코드를 변경해주어야 한다.
먼저 변경해주어야할 코드는 매인액션스크립트이다.

---------------------AS3.0 으로 변경전 플래시 AS2.0 스크립트 소스---------------------
_global.over = active;
for (i=1; i<=numOfMenu; i++) {
 this[i].defaultX = this[i]._x;
 this[i].bg.onRollOver = function() {
  _global.over = this._parent._name;
 };
 this[i].bg.onRollOut = this[i].bg.onDragOut=function () {
  _global.over = active;
 };
 this[i].bg.onRelease = function() {
  getURL(link[this._parent._name], frame[this._parent._name]);
  // 메인버튼 링크
 };
 this[i].onEnterFrame = function() {
  if (over == this._name) {
   this.direction = "next";
   this.nextFrame();
  } else {
   this.direction = "prev";
   this.prevFrame();
  }
 };
}
----------------------------------------------------------------------------------------------------------

-----------------------------------AS3.0으로 변경후 스크립트 소스--------------------------------
_global.over = active;
for (i=1; i<=numOfMenu; i++) {
 this["menu"+i].defaultX = this["menu"+i]._x;
 this["menu"+i].bg.onRollOver = function() {
  _global.over = this._parent._name.substr(4);
 };
 this["menu"+i].bg.onRollOut = this["menu"+i].bg.onDragOut=function () {
  _global.over = active;
 };
 this["menu"+i].bg.onRelease = function() {
  getURL(link[this._parent._name.substr(4)], frame[this._parent._name.substr(4)]);
  // 메인버튼 링크
 };
 this["menu"+i].onEnterFrame = function() {
  if (over == this._name.substr(4)) {
   this.direction = "next";
   this.nextFrame();
  } else {
   this.direction = "prev";
   this.prevFrame();
  }
 };
}
-----------------------------------------------------------------------------------------------------------

1. 첫번째 변경코드(메인액션만)

위와 같이[i] 코드를 ["menu"+i]로 변경(""사이에는 원하는 문자열)
tip. 참고로 위에 코드를 변경시엔 메인액션창에서만 한정하여 변경해주도록 한다.
     (i가 다른 이름으로도 많이 등록되어있으므로 전체 변경은 위험함)


2. 두번째 변경코드(전체액션)

위에 AS2.0(8) 코드에서 보면 알수 있듯이 "_name" 코드가 "_name.substr(4)" 이렇게 변경된걸 알수 있다.
이것은 네임문자열에 앞에숫자(4)를 제외한번호를 불러온다는 의미이다. <(4)는 자신이 정한 문자열갯수이다>
tip. 이코드 변경은 전체 플래시소스를 선택후 변경해준다.

위와같이 하면 AS2.0에서 돌리던 매뉴플래시를 AS3.0에 맞도록 맞출수있다. 액션스크립트에 대한 이해가 없더라도
위에 매뉴얼을 따라한다면 쉽사리 AS3.0로 변경가능하다.