본문 바로가기
  • 오직 예수 그리스도
스위시세상/스위시 맥스

복제2

by 어린양01 2016. 1. 9.


 

 

스위시맥스4  스크립트작품 10, 복제3

1. 스위시맥스4를 실행한 후 앞에서 작업한 스크립트작품 9번을 가
   져온다.

2. Outline 패널에서 star, fl1, fl2, fl3를 선택하여 마우스 우클릭
   →-Grouping→Group as Movie Clip을 클릭한다. 이름은 main이
   라고 한다. O=X 센타로 한다. main을 선택한 후
   펼쳐서 Timeline 패널의 main 부분에 1~4프레임에 stop()을 적용
   한다.

3. Scene_1선택 Insert→Import Animation을 클릭하여 카페에서
   다운받은 outline을 가져온다. W=600 H=400 O=X 센타 X=350
   Y=250, 마우스 우클릭→ConvertConvert to Movie Clip을 클릭
   한다. Properties 패널에서 Stop playing at end의 체크를 풀어준
   다.
(앵커포인트는 중앙으로)

4. Scene_1선택 이미지1~5를 가져온다. Reshape 패널에서 W=600
   H=4
00으로 하고, Transform 패널에서 O=X, 센터
X=350 Y=250
   으로
(최초 배경 image는 삭제한다)

5. Outline 패널에서의 이미지 위치는 main 아래로 이미지1~5로 위
   치한다. 각각의 이름을 im1~5로 바꾼다.

6. Outline 패널에서 im1~4까지 선택한다. 마우스 우클릭→
   Convert→Convert to Movie Clip을 클릭한다. Properties 패널에
   서 Stop playing at end의 체크를 풀어준다. 스테이지에서의 이미
   지 위치는 im5는 스테이지 중앙에 위치하고, im1은 스테이지 위로,
   즉 O=X 센타 X=350 Y=-200, im2는 스테이지 우로, 즉 O=X 센타
   X=-300 Y=250,
im3는 스테이지 아래로, 즉 O=X 센타 X=350
   Y=700,
im4는 스테이지 좌로, 즉 O=X 센타 X=1000 Y=250으로
   위치 한다.

7. Scene_1선택 Insert Movie Clip을 클릭하여 이름을 im0라고
   한다. 위치는 im1위로 하고, 스테이지에서의 위치는 좌측 별 위로
   위치한다. 즉
O=X 센타 X=-50 Y=-75,

8. Timeline 패널에서 Scene1의 1~5프레임에 stop() 스크립트를 적
   용한다.

9. Timeline 패널에서 다음과 같이 설정한다.
* im1의 2프레임에 Place, 3프레임에 Remove
* im2의 3프레임에 Place, 4프레임에 Remove

* im3의 4프레임에 Place, 5프레임에 Remove

* im4의 5프레임에 Place

10. Outline 패널에서 각각의 무비클립을 선택하여 다음과 같이 스크
   립트를 적용한다.

* starbu(끝의 _root.gotoAndStop(1);를 _root.main.gotoAndStop(1);로

on(press){
    _root.main.gotoAndStop(1);
}
 on (rollOver) {
    _root.gotoAndPlay(1);
}

* fl1bu (여기도 끝의 on(press)에서 끝까지 삭제하고)

on(press){
    _root.main.gotoAndStop(2);

}
 
on (rollOver) {
    _root.gotoAndPlay(2);
}

* fl2bu(끝 삭제하고)

on(press){
    _root.main.gotoAndStop(3);
 
}

 on (rollOver) {
    _root.gotoAndPlay(3);
}

* fl3bu(끝 삭제하고)

on(press){
    _root.main.gotoAndStop(4);

}
on (rollOver) {
    _root.gotoAndPlay(4);
}

* main안의 star안의 star(기존삭제하고)

onSelfEvent(press){
    this.startDrag(false, 25, 25, 610, 410);
}
onSelfEvent(release, releaseOutside){
    this.stopDrag();
}
onSelfEvent(load){
    this._xscale = 10;
    this._yscale = 10;
    opacity = 10;
    _root.outline._visible = 1;
}
onSelfEvent(enterFrame){
    this._xscale = this._xscale + opacity;
    this._yscale = this._yscale + opacity;
    if(this._xscale < 10 && this._yscale < 10 || this._xscale > 100 && this._yscale > 100){
        opacity = -1 * opacity;
    }
}
on(press){
    if(_root._currentFrame == 1){
        _root.gotoAndStop(2);
        }else if(_root._currentFrame == 2){
        _root.gotoAndStop(3);
        }else if(_root._currentFrame == 3){
        _root.gotoAndStop(4);
        }else if(_root._currentFrame == 4){
        _root.gotoAndStop(5);
        }else if(_root._currentFrame == 5){
        _root.gotoAndStop(2);
        }
}

* main안의 star안의 action(기존삭제하고)

onSelfEvent(load){
    i = 0;
}
onSelfEvent (enterFrame){
    if(i<30){
    _root.main.star.star.duplicateMovieClip('star'+i, i);
    _root.main.star['star'+i]._x = 45 + random(610);
    _root.main.star['star'+i]._y = 40 + random(410);
    i = i + 1;
    }
}
onSelfEvent(load){
    i = 0;
}
onSelfEvent (enterFrame){
    if(i<30){
    _root.main.star.star.duplicateMovieClip('star'+i, i);
    _root.main.star['star'+i]._x = 45 + random(610);
    _root.main.star['star'+i]._y = 40 + random(410);
    i = i + 1;
    }
}

* main안의 fl1안의 fl1(기존삭제하고)

onSelfEvent (load) {
    easing = 0.85;
//(easing은 탄력적 변화(-0.7~0.9까지의 수를 적용)
    elasticity = 0.5;
//(0.1~3까지의 수를 적용하며 탄력의 크기)
    txscale = 120;
//(탄력적인 움직임후의 크기)
    ts = 0;
//(-100~0~+100까지의 수를 사용하며-는 작은데서 커지고 0은 변함이없으며 +는 큰데서 작아짐)
    _root.outline._visible = 0;
}
onSelfEvent (enterFrame) {
    ts = ts * easing + (txscale - this._xscale) * elasticity;
    this._yscale = this._yscale + ts;
    this._xscale = this._xscale + ts;
}
onSelfEvent (press) {
    this.swapDepths(200);
//(복제될 수)
}
onSelfEvent (rollOver) {
    txscale = 110;
}
onSelfEvent (rollOut) {
    txscale = 100;
}
onSelfEvent (press) {
    this.startDrag(false, 45, 40, 655, 455);
}
onSelfEvent (release,releaseOutside) {
    this.stopDrag();
}

on(press){
    if(_root._currentFrame == 1){
        _root.gotoAndStop(2);
        }else if(_root._currentFrame == 2){
        _root.gotoAndStop(3);
        }else if(_root._currentFrame == 3){
        _root.gotoAndStop(4);
        }else if(_root._currentFrame == 4){
        _root.gotoAndStop(5);
        }else if(_root._currentFrame == 5){
        _root.gotoAndStop(2);
        }
}

* main안의 fl1안의 action1(기존삭제하고)

onSelfEvent(load){
    i = 0;
}
onSelfEvent (enterFrame){
    if(i<200){
    _root.main.fl1.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl1['fl1'+i]._x = 45 + random(610);
    _root.main.fl1['fl1'+i]._y = 40+ random(10);
    i = i + 1;
    _root.main.fl1.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl1['fl1'+i]._x = 45 + random(610);
    _root.main.fl1['fl1'+i]._y = 455 + random(10);
    i = i + 1;
    _root.main.fl1.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl1['fl1'+i]._x = 45 + random(10);
    _root.main.fl1['fl1'+i]._y = 40 + random(410);
    i = i + 1;
    _root.main.fl1.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl1['fl1'+i]._x = 655 + random(10);
    _root.main.fl1['fl1'+i]._y = 40 + random(410);
    i = i + 1;
    }
}

* main안의 fl2안의 fl2와 action2는 main안의 fl1안의 fl1
   과 action1과 같다. fl은 모두같고 다만 action2의 fl1는
   빨강글씨 모두 fl2로 고쳐준다

* main안의 fl3안의 fl1과 fl2는 위의 스크립트에서 fl1과 fl2와 같다.

* main안의 fl3안의 action3

onSelfEvent(load){
    i = 0;
}
onSelfEvent (enterFrame){
    if(i<200){
    _root.main.fl3.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl3['fl1'+i]._x = 45 + random(610);
    _root.main.fl3['fl1'+i]._y = 40 + random(10);
    i = i + 1;
    _root.main.fl3.fl2.duplicateMovieClip('fl2'+i, i);
    _root.main.fl3['fl2'+i]._x = 45 + random(610);
    _root.main.fl3['fl2'+i]._y = 40 + random(10);
    i = i + 1;
    _root.main.fl3.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl3['fl1'+i]._x = 45 + random(610);
    _root.main.fl3['fl1'+i]._y = 455 + random(10);
    i = i + 1;
    _root.main.fl3.fl2.duplicateMovieClip('fl2'+i, i);
    _root.main.fl3['fl2'+i]._x = 45 + random(610);
    _root.main.fl3['fl2'+i]._y = 430 + random(10);
    i = i + 1;
    _root.main.fl3.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl3['fl1'+i]._x = 45 + random(10);
    _root.main.fl3['fl1'+i]._y = 40 + random(410);
    i = i + 1;
    _root.main.fl3.fl2.duplicateMovieClip('fl2'+i, i);
    _root.main.fl3['fl2'+i]._x = 45 + random(10);
    _root.main.fl3['fl2'+i]._y = 40 + random(410);
    i = i + 1;
    _root.main.fl3.fl1.duplicateMovieClip('fl1'+i, i);
    _root.main.fl3['fl1'+i]._x = 655 + random(10);
    _root.main.fl3['fl1'+i]._y = 40 + random(410);
    i = i + 1;
    _root.main.fl3.fl2.duplicateMovieClip('fl2'+i, i);
    _root.main.fl3['fl2'+i]._x = 655 + random(10);
    _root.main.fl3['fl2'+i]._y = 40 + random(410);
    i = i + 1;
    }
}

* im1~4까지 스크립트

onSelfEvent(load){
MovieClip.prototype.elasticMove = function(a, b, tx, ty){
    var tempx = this._x;
    var tempy = this._y;
    this._x = a * (this._x - tx) + b * (this.prevx - tx) + tx;
    this._y = a * (this._y - ty) + b * (this.prevy - ty) + ty;
    this.prevx = tempx;
    this.prevy = tempy;
    }
}
onSelfEvent(enterFrame){
    this.elasticMove(1.2, -0.6, 350, 250);
}
onSelfEvent (load) {
    easing = 0.2;
    elasticity = 0.2;
    txscale = 100;
    ts = 0;
}
onSelfEvent (enterFrame) {
    ts = ts * easing + (txscale - this._xscale) * elasticity;
    this._yscale = this._yscale + ts;
    this._xscale = this._xscale + ts;
}

※Script 내용의 Action을 적용할 대상을 일과 바꾸기)
   해당 Script의 맨좌상단에 커서를 위치시키고  

Edit-Replace-Replace창에서-Find What;난에 현재의 대상을적고-
   Replace With난에 수정할 대상을 적고-Match Whole Word only
   체크 Direction에서 Down을 체크-Current Script체크-Replace
   All을 크릭하면 일과적으로 바뀜

 

 

복제2.swi

복제2.swi
1.35MB

'스위시세상 > 스위시 맥스' 카테고리의 다른 글

12, 36개의 버튼  (0) 2016.01.09
release버튼  (0) 2016.01.09
복제  (0) 2016.01.09
여러 모양으로 움직임  (0) 2016.01.09
6 , 4방향 움직임  (0) 2016.01.09