For


this.th1.onRelease=function(){
 car_mc.gotoAndStop(1)
}
this.th2.onRelease=function(){
 car_mc.gotoAndStop(2)
}
this.th3.onRelease=function(){
 car_mc.gotoAndStop(3)
}
this.th4.onRelease=function(){
 car_mc.gotoAndStop(4)
}
this.th5.onRelease=function(){
 car_mc.gotoAndStop(5)
}
this.th6.onRelease=function(){
 car_mc.gotoAndStop(6)
}
this.th7.onRelease=function(){
 car_mc.gotoAndStop(7)
}
this.th8.onRelease=function(){
 car_mc.gotoAndStop(8)
}

----------------------------------------------------------------------

for(i=1;i<=8;i++){
 this["th"+i].onRelease=function(){
  var j=this._name.substr(2)
  car_mc.gotoAndStop(j)
 }
}


--------------------------------------------------------------------

gotoAndStop(this._name.substr(2));

gotoAndStop()라는 액션은 알고있듯이 ()안의 해당숫자의 프레임에가서 멈추라는 액션이고
하지만 위의액션()안에는 숫자가 아닌 this._name.substr()이라는 스크립트가 적용되어있다.
여기서 this._name 현재 경로 자신을 뜻하며, _name은 심벌의 인스턴스 네임을 넣었을 때 사용하는 속성(Property)이다.
substr()이란 글자의 값을 가져오는 역할을 한다.
substr()의 특성은 ()안의 값에서 앞에서부터 숫자만큼의 뒤의 글자를 모두가져온다는것이다.

현재 액션을 삽입한 무비클립의 인스턴스네임은 th1이므로

t.h.1
0.1.2

이므로 가져온 값은 숫자 1입니다.
그렇다면 다른복사되어진 다른작은이미지의 무비클립에도 같은 액션이 저절로 삽입되므로
(한개의 무비클립을 복사해놓았기때문에 무비클립내에 무엇인가를 변경하면 똑같이 적용됨)
th2의 무비클립은 숫자2의 값을 불러오고 차례대로 th3부터 8까지 모두 3부터 8까지의 값을 불러온다.


기본적인 액션으로 만드는 갤러리

this.th1.onRelease=function(){
car_mc.gotoAndStop(1)
}
this.th2.onRelease=function(){
car_mc.gotoAndStop(2)
}
this.th3.onRelease=function(){
car_mc.gotoAndStop(3)
}
this.th4.onRelease=function(){
car_mc.gotoAndStop(4)
}
this.th5.onRelease=function(){
car_mc.gotoAndStop(5)
}
this.th6.onRelease=function(){
car_mc.gotoAndStop(6)
}
this.th7.onRelease=function(){
car_mc.gotoAndStop(7)
}
this.th8.onRelease=function(){
car_mc.gotoAndStop(8)
}

-------------------------------------------------

정상적이고 기본적인 작동법이며  th넘버 버튼을 눌렀을때 car_mc를 해당넘버의 프레임으로 보내면 된다.


for문

* for문이란 반복문으로 위에서처럼 같은 경로나 방식의 액션스크립트를 정리해서 반복되게 하므로써
불필요하게 길어지는 액션스크립트를 간추려 주는 역할을 한다.
[ ]와 함께 쓰이며 for문을 적용하려면 인스턴스네임을 지정할때 마지막을 꼭 숫자로 입력해야한다.


for문의 기본 형식은 다음과 같다.


예)
for(i=1;i<=8;i++){

//i=1; 이란 시작은 1부터라는 뜻으로 초기값을 나타낸다.
// i<=8; 이란 최대값이 8만큼커지고 8과 같다라는 뜻
// i++라는것은 i+1식 커진다는 뜻

this["인스턴트네임에서 숫자를 뺀 나머지"+i].이벤트핸들러
//[" "+i]에있는 " " 내에 마지막 숫자를 뺀 인스턴트네임을 적어주고 i에 1에서8까지 모두적용하게 되므로 갤러리를 예로들면 ["th"+i] 라고 입력하게 된다.
}


지역변수는 'var 변수 = 값' 과 같은 형식으로 생성되며 이때 var는 생략할 수 있다.

----------------------------------

for(i=1;i<=8;i++){
//i=1 시작은 1부터; i<=8 1부터8까지커진다; i++ i+1씩 정리 i는1부터 8까지 1씩 커진다
 this["th"+i].onRelease=function(){
//this의 th+i<1을 누를때,2를 누를때..등등th8까지의 무비클립을 누를때{}안의 명령을 실행한다.
 var j=this._name.substr(2)
//변수 j는 현재 this의 무비클립의 앞에서부터 0.1.2번째부터의 인스턴스이름을 가져온다.
 car_mc.gotoAndStop(j)
//car.mc를 j프레임에 가서 멈춰라.
 }
}





 

Trackback 0 Comment 1
prev 1 ··· 13 14 15 16 17 18 19 20 21 ··· 79 next