스위시맥스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, 마우스 우클릭→Convert→Convert to Movie Clip을 클릭
한다. Properties 패널에서 Stop playing at end의 체크를 풀어준
다. (앵커포인트는 중앙으로)
4. Scene_1선택 이미지1~5를 가져온다. Reshape 패널에서 W=600
H=400으로 하고, 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을 크릭하면 일과적으로 바뀜
'스위시세상 > 스위시 맥스' 카테고리의 다른 글
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 |