今回は以下の内容を追加します。
今回の内容
1.起動画面
2.オープニング
3.タイトル
4.エンディング
素材がないので文字だけの簡素なものとします。
1.起動画面
ロードとかしているあれです。ここでは処理が完了したときに文字を表示するようにしています。
マルチスレッドでなくても表画面のまま書けばそれっぽい感じです。
四聖龍神録の起動画面で数字が重なって表示されている理由はたぶんこれでしょう。
文字の表示が要らなければこの起動画面についての内容は無視してかまいません。
まあ、一回の起動につき一回しか表示されず一瞬で終わるのでそれほど気にしなくてもよいと思います。
裏画面に描画するようセットし、オープニングに。
これをかいていてfunc_stateのFIRSTが不要なことに気が付きました。
main.cppのcase FIRSTの中身をループの前に出して
func_state=FIRST;を消去し
以下のようにしてください。
if(DxLib_Init() == -1) return -1;
load();//データロード
first_ini();//最初のみの初期化
func_state=OPENING;
if(SetDrawScreen( DX_SCREEN_BACK)!=0) return -1;
FIRST,
を消去。
load.cppのloadに以下を追加 ini.cppのfirst_iniに以下を追加
2.オープニング
これはゲームスタートでメッセージが流れるあれ。ではなく
ここではロゴが表示されている部分のことです。
とりあえず「オープニング」と書かれた文字をフェードイン、フェードアウトさせます。
終わったらタイトルへ。
opening.cppを追加
#include "../include/GV.h"
void opening_main(){
if(opening_count==180){
opening_count=0;
func_state=TITLE;
return;
}
opening_count++;
}
void graph_opening(){
if(opening_count=120){
SetDrawBright(300-5*(opening_count-120),300-5*(opening_count-120),300-5*(opening_count-120));
}
DrawStringToHandle(240,200,"オープニング",color[0],font[1]);
SetDrawBright(255,255,255);
}
3.タイトル
画面の上あたりに「龍神録プログラミングの館プロジェクト改変プログラム」とでも表示させておきましょう。
あとは「Game Start」をどこかに配置します。
Zキーが押されるとゲームの初期化がなされ、ゲームが始まるようにします。
title.cppを追加。
#include "../include/GV.h"
void title_main(){
if(CheckStatePad(configpad.shot)==1){
func_state=GAME_INI;
}
}
main.cppに以下を追加 graph.cppに以下を追加
void graph_title(){
DrawStringToHandle(100,100,"龍神録プログラミングの館",color[0],font[1]);
DrawStringToHandle(100,140,"改変プログラム",color[0],font[1]);
DrawStringToHandle(50,300,"Game Start",color[0],font[1]);
}
4.エンディング
前回,5面クリア時に1面に戻るようにしていましたが今回は
エンディングに移動するようにします。
ここでは「Thank you for your playing」という文字を下から上にスライドさせるだけにします。
スライドが終わったらオープニングに。
ending.cppを追加
#include "../include/GV.h"
void ending_main(){
if(ending_count==180){
ending_count=0;
func_state=OPENING;
return;
}
ending_count++;
}
void graph_ending(){
DrawStringToHandle(100,520-ending_count*4,"Thank you for your playing",color[0],font[0]);
}
graph.cppのgraph_clearの以下を変更