조회 수 255 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

rpg_scene.js 파일을 살펴보시면

 

타이틀 화면을 보여주는 함수를 살펴보실 수 있습니다.


Scene_Title.prototype.start = function() {
 Scene_Base.prototype.start.call(this);
 SceneManager.clearStack();
 this.centerSprite(this._backSprite1);
 this.centerSprite(this._backSprite2);
 this.playTitleMusic();
 this.startFadeIn(this.fadeSpeed(), false);
};

 

여기에서 전체적인 흐름을 살펴보실 수 있습니다.

 

 

우선은 해당 함수 스스로를 실행하는 부분이 있습니다.

 

Scene_Base.prototype.start.call(this);

 

 

다음으로는 SceneManager가 화면에 그리는 그리는

 

목록을 비우는 부분이 있습니다.


SceneManager.clearStack = function() {
 this._stack = [];
};

 

 

이후에 배경 스트라이프 2개를 중앙에 그립니다.


this.centerSprite(this._backSprite1);
this.centerSprite(this._backSprite2);

 

 

스트라이프를 그려준 뒤에 음악을 재생하고

 

this.playTitleMusic();

 

 

드디어 fade-in 효과를 연출합니다.

 

this.startFadeIn(this.fadeSpeed(), false)

 

 

기본적으로 살펴보셨다면 이제는 본론으로

 

들어가서 전에 올리신 글의 댓글에 fade-in의

 

색상을 변경하고 추가한 스크립트를

 

작성하셨음에도 원하시는 대로 되지 않았던

 

이유에 대해서 설명해드리겠습니다.


Scene_Base.prototype.createFadeSprite = function(white) {
 if (!this._fadeSprite) {
  this._fadeSprite = new ScreenSprite();
  this.addChild(this._fadeSprite);
 }
 if (white) {
  this._fadeSprite.setWhite();
 } else {
  this._fadeSprite.setBlack();
 }
};


Scene_Base.prototype.startFadeIn = function(duration, white) {
 this.createFadeSprite(white);
 this._fadeSign = 1;
 this._fadeDuration = duration || 30;
 this._fadeSprite.opacity = 255;
};

 

 

위의 startFadeIn(this.fadeSpeed(), false)에서

 

넘어오는 값 중에 white라는 변수에 어떤 값이

 

들어가는지 위의 2개 함수와 연관지어서 자세히

 

살펴봐주시기 바랍니다.

 

 

duration = this.fadeSpeed()

 

white = false

 

얼마 지나지 않아 위의 사실을 알아차릴 수 있습니다.

 

 

여기에서 실제 색상에에 영향을 주는

 

부분은 white변수 하나입니다.

 

 

white의 값이 true이면

 

this._fadeSprite.setWhite();

 

white의 값이 false이면

 

this._fadeSprite.setBlack();

 

 

입니다.

 

 

huguduk님께서 원하시는 다른 색상으로

 

그려지는 fade-in / out을 위해서는 단순히

 

true / false 스위치 값 만으로 색상을 그리는

 

형태가 되어서는 안됩니다.

 

 

fade-in / fade-out 관련 함수들중에서

 

white의 값을 직접적으로 입력해주는

 

것들을 찾아내어서 색상별로 연결되는

 

숫자 혹은 문자로 색상을 선택하는 방식으로

 

전환을 시킬 필요가 있습니다.

 

 

MV를 만든 회사에서 어떻게 업데이트를

 

진행할지는 몰라도 저 같으면...

 

처음부터 fade-in / fade-out의 색상을

 

따로 함수로 변경시키기보다는 숫자형식의

 

스위치 값을 기반으로 기본으로는 0, 1만

 

있는 형식의 것을 만들어 두었을 겁니다.

 

//include color number parameter variable

ScreenSprite.prototype.setColor = function(cn) {

 switch(cn){

  case 0://black

   this.setColor(0, 0, 0);

  break;

  case 1://white

   this.setColor(255, 255, 255);

  break;

  case 2://purple

   this.setColor(255, 0, 255);

  break;

 }
};

 

이렇게 만들어 둔다고 할 때에 cn변수의

 

값만 제대로 넣어주게 되면 다음과 같이

 

스크립트를 수정할 수도 있습니다.


Scene_Base.prototype.createFadeSprite = function(cn) {
 if (!this._fadeSprite) {
  this._fadeSprite = new ScreenSprite();
  this.addChild(this._fadeSprite);
 }
 this._fadeSprite.setColor(cn);
};


Scene_Base.prototype.startFadeIn = function(duration, cn) {
 this.createFadeSprite(cn);
 this._fadeSign = 1;
 this._fadeDuration = duration || 30;
 this._fadeSprite.opacity = 255;
};


Scene_Title.prototype.start = function() {
 Scene_Base.prototype.start.call(this);
 SceneManager.clearStack();
 this.centerSprite(this._backSprite1);
 this.centerSprite(this._backSprite2);
 this.playTitleMusic();
 this.startFadeIn(this.fadeSpeed(), 2);
};

 

 

다만 원하시는 부분들 전부를 이런 방식으로

 

재선언해주셔야 합니다. 이런 방식은 꽤나

 

피곤하지만 작성해두시고 사용하신다면

 

좀 더 다양한 응용방법에 대해서도 알아가실

 

수 있을 거라고 개인적으로 생각합니다.

 

 

 

ps.처음부터 다양한 색상을 적용할 수 있게 만들어서

 

제품으로서 팔았다고 하면 좀 더 많은 판매량을

 

이끌어 낼 수 있었을 것이라고 생각합니다만...

 

역시 돈을 벌기 위해서 서두른 것 같습니다.

?
  • ?
    huguduk 2016.06.23 14:24
    쪽지보내드렸습니다. 감사합니다!

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
공지 제2회 인디사이드 게임제작대회 출품작 리스트. 189 인디사이드운영자 2016.10.24 26111 0
공지 인디사이드 활동 규정.(ver.20160119) 192 천무 2015.02.16 27858 1
23537 혹시 '이터니티' 라는게임 갖고 계시는분 있을까요? 2 DoingDogu 2026.02.01 403 0
23536 [스마일게이트 퓨처랩] 비버롹스 2025 온라인 전시관 오픈! (12/1~12/14) file 스마일게이트퓨처랩 2025.12.01 371 0
23535 [스마일게이트 퓨처랩] 비버롹스 with 산나비! 게임 시연과 함께 굿즈 스토어까지! file 스마일게이트퓨처랩 2025.11.26 353 0
23534 [스마일게이트 퓨처랩] 놓치면 후회! 비버롹스 2차 얼리버드 티켓 절찬 판매중! file 스마일게이트퓨처랩 2025.11.20 373 0
23533 코리아 인디게임 쇼케이스가 떴다 file gls2024 2025.10.20 414 0
23532 GGDC 2025 글로벌게임개발자컨퍼런스 2차 공개! file ggdc 2025.10.18 379 0
23531 BEAVER ROCKS 2025 슈퍼 얼리버드 티켓 오픈! 스마일게이트퓨처랩 2025.10.17 361 0
23530 이제 여기 다운로드는 다 막힌건가 Redgm 2025.10.12 643 0
23529 안녕하세요 우사준 2025.09.30 402 0
23528 혹시 이 사이트의 등업관련해서 질문이있는데요 1 이드냐 2025.09.23 560 0
23527 GGDC 2025 글로벌 게임 개발자 컨퍼런스 1 file ggdc 2025.09.18 808 0
23526 NGC2025 사전등록 이벤트 소식~ ^^ file 태사자 2025.09.18 341 0
23525 [대구디지털혁신진흥원] (NGC2025) NEXT GAME CONFERENCE 2025 file 태사자 2025.09.12 388 0
23524 [스마일게이트 퓨처랩]BEAVER ROCKS 인디게임&컬처 페스티벌, 2025 전시팀 모집 file 스마일게이트퓨처랩 2025.08.04 439 0
23523 [전남정보문화산업진흥원] 게임개발 취업 부트캠프 file 유니버스 2025.07.31 394 0
23522 충청권 인디게임 공모전<인디유> file CBGC 2025.07.24 427 0
23521 인디게임에 대한 간단한 생각 1 철수와미애 2025.07.18 725 0
23520 [스마일게이트 퓨처랩]스마일게이트 인디게임 프로토타이핑 챌린지 모집 (~7/31) file 스마일게이트퓨처랩 2025.07.17 417 0
23519 2025 충북글로벌게임센터 게임기업 신규 입주 모집(~7. 25.) file CBGC 2025.07.07 433 0
23518 2025 충북글로벌게임센터 [충북게임아카데미] 교육생 모집(~6. 26.) file CBGC 2025.06.17 441 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 1177 Next
/ 1177


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)