코딩공부/Action Script 3.0
for문과 응용 ( 대괄호 연산자 )
dev__pixui
2015. 2. 17. 11:10
() 소괄호 연산자 : 변수값 전달에 사용
{} 중괄호 연산자 : 묶어주시오 ==> 함수, if
[] 대괄호 연산자 : 객체 접근할 때
bird_mc - head_mc
- body_mc
- leg1_mc
- leg2 mc
this.bird_mc.leg2_mc.stop();
this.bird_mc.body_mc.x
.무비클립 <==> ["무비클립"]
.변수 <==> ["변수"]
ex) this.bird.head.x
this["bird"].head.x
this.bird["head"].x
this.bird["head"]["x"]
this["bird"]["head"]["x"]
this["bird"]head["x"]
※ 예외 []앞에 있는 this 는 생략 불가!!
trace(a);
trace(this.a);
trace(this.["a"]);
trace(["a"]); // 사용불가
for 문 : ~ 하는 동안!! < 반복할 때 >
--> 복잡한 코드를 한번에 처리하는 데 사용
for ( 초기값 : 조건 : 증가량 )
{
//할일 들!
}
for 문과 대괄호 연산자의 응용
this.lion3.x = 20;
this.lion4.x = 20;
this.lion5.x = 20;
this.lion6.x = 20;
위의 코드를 for문으로 변화
for( var i :int = 3 ; i<7 ; i++)
{
this["lion"+i].x = 20;
}
//----------------------------------------
this.bear2.x=20;
this.bear3.x=30;
this.bear4.x=40;
this.bear5.x=50;
this.bear6.x=60;
for( var i:int=2; i<7; i++)
{
this["bear"+i].x = i*10;
}
//----------------------------------------
this. red2.x = this.red1.x +10;
this. red3.x = this.red2.x +10;
this. red4.x = this.red3.x +10;
this. red5.x = this.red4.x +10;
for( var i:int=2 ; i<6 ; i++)
{
this["red"+i].x = this["red"+(i-1)].x + 10;
}
//----------------------------------------
cat3.x = cat2.x +20;
cat4.x = cat3.x +30;
cat5.x = cat4.x +40;
cat6.x = cat5.x +50;
for( var i = 3; i<7 ; i++)
{
this["cat"+i].x = this [ "cat" + ( i-1)].x + ( i-10) *10;
}
//----------------------------------------
// 10, 12, 14,16,18. 20 을 출력하라
for( var i:int=0 ; i<6 ; i++)
{
trace ( 10 + 2 *i);
}
//----------------------------------------
// 100,105,110.115,120
for( var i:int=0; i<5; i++)
{
trace( 100 + 5*i);
}
//----------------------------------------
// 50,53,56,59, 62, 65, 68
for( i = 0 ; i<7 ; i++)
{
trace ( 50 + 3*i );
}
//----------------------------------------
for 문 응용 이퀄라이져 만들기
for( var i:int=0 ; i < 8 ; i++)
{
this["bar"+i].addEventListener( Event.ENTER_FRAME, onEnter ) ;
}
function onEnter ( e: Event ) :void
{
var bar:MovieClip = e.currentTarget as MovieClip
bar.scaleY = Math.random();
}
//또는
for( var i:int=0 i < 8 ; i++)
{
var b:Bar = ner Bar();
b.x = 80+50*i;
b.y = 300;
addChild(b);
b.addEventListener ( Event.ENTER_FRAME, onEnter );
}
function onEnter ( e : Event ) : void
{
var b : Bar =e.currentTarget as Bar;
b.scaleY = Math.random();
}