#5
by Albina_kun » 3年前
GameのMainになるコード
コード:
#include "DxLib.h"
#include "GameMain.h"
#include "GameSystem.h"
/*画面の更新、画面消去、メッセージ表示の処理*/
namespace System {
bool Update() { return (DxLib::ScreenFlip() != -1 && DxLib::ClearDrawScreen() != -1 && DxLib::ProcessMessage() != -1); }
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
/*ゲーム背景を白色に設定*/
SetBackgroundColor(255, 255, 255);
SetMainWindowText("タイトル");
if (DxLib_Init() == -1)
{
return -1;
}
/*初期化後に書く処理*/
SetDrawScreen(DX_SCREEN_BACK);
/*ゲームの画面サイズを1920*1080に設定*/
SetGraphMode(ScreenSizeX, ScreenSizeY, GameBit);
/*ゲーム起動時にマウスカーソルを表示*/
SetMouseDispFlag(TRUE);
/*メインループの処理*/
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
/*ゲームシステムの実行*/
MainSystem();
/*何かのキーが押されるまで待機*/
WaitKey();
}
/*DxLibの終了処理*/
DxLib_End();
return 0;
}
Gameの分岐点になるもの
コード:
#include "DxLib.h"
#include "GameTitle.h"
void MainSystem() {
/*ゲームタイトルの表示*/
TitleScreen();
}
タイトル画面のコード
コード:
#include "DxLib.h"
#include "GameTitle.h"
void TitleScreen() {
unsigned int Cr_Black;
int TitleLogo;
int Title_MinusBlock;
int Title_PlassBlock;
int StartButton;
int Count = 0;
int PositionY = 0;
/*タイトルロゴの文字の色の取得*/
Cr_Black = GetColor(0, 0, 0);
/*タイトルロゴの文字サイズの作成*/
TitleLogo = CreateFontToHandle(NULL, 180, 3);
/*タイトル画面のマイナスブロックの画像の読み込み*/
Title_MinusBlock = LoadGraph("image/Title_MinusBlock.png");
/*タイトル画面のプラスブロックの画像の読み込み*/
Title_PlassBlock = LoadGraph("image/Title_PlassBlock.png");
/*タイトル画面のスタートボタンの画像の読み込み*/
StartButton = LoadGraph("image/StartButton.png");
for (PositionY; PositionY <= 700; PositionY++) {
if (PositionY <= 699) {
/*左下のマイナスブロックの描写*/
DrawGraph(200, PositionY, Title_MinusBlock, TRUE);
/*右下のプラスブロックの描写*/
DrawGraph(1450, PositionY, Title_PlassBlock, TRUE);
WaitTimer(5);
/*画面のクリア*/
ClearDrawScreen();
}
else {
DrawGraph(200, PositionY, Title_MinusBlock, TRUE);
/*右下のプラスブロックの描写*/
DrawGraph(1450, PositionY, Title_PlassBlock, TRUE);
/*タイトルロゴの表示*/
DrawStringToHandle(575, 120, "タイトル", Cr_Black, TitleLogo);
/*中央スタートボタンの描写*/
DrawGraph(550, 550, StartButton, TRUE);
}
}
}
このようにしたらモーションを付けることにできました。
コードに使ったWaitTimerは使用しても大丈夫なのでしょうか?(ゲームプログラムの館を見た際にあまり使わないほうがいいと書いてあったので)
GameのMainになるコード
[code]
#include "DxLib.h"
#include "GameMain.h"
#include "GameSystem.h"
/*画面の更新、画面消去、メッセージ表示の処理*/
namespace System {
bool Update() { return (DxLib::ScreenFlip() != -1 && DxLib::ClearDrawScreen() != -1 && DxLib::ProcessMessage() != -1); }
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
/*ゲーム背景を白色に設定*/
SetBackgroundColor(255, 255, 255);
SetMainWindowText("タイトル");
if (DxLib_Init() == -1)
{
return -1;
}
/*初期化後に書く処理*/
SetDrawScreen(DX_SCREEN_BACK);
/*ゲームの画面サイズを1920*1080に設定*/
SetGraphMode(ScreenSizeX, ScreenSizeY, GameBit);
/*ゲーム起動時にマウスカーソルを表示*/
SetMouseDispFlag(TRUE);
/*メインループの処理*/
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
/*ゲームシステムの実行*/
MainSystem();
/*何かのキーが押されるまで待機*/
WaitKey();
}
/*DxLibの終了処理*/
DxLib_End();
return 0;
}
[/code]
Gameの分岐点になるもの
[code]
#include "DxLib.h"
#include "GameTitle.h"
void MainSystem() {
/*ゲームタイトルの表示*/
TitleScreen();
}
[/code]
タイトル画面のコード
[code]
#include "DxLib.h"
#include "GameTitle.h"
void TitleScreen() {
unsigned int Cr_Black;
int TitleLogo;
int Title_MinusBlock;
int Title_PlassBlock;
int StartButton;
int Count = 0;
int PositionY = 0;
/*タイトルロゴの文字の色の取得*/
Cr_Black = GetColor(0, 0, 0);
/*タイトルロゴの文字サイズの作成*/
TitleLogo = CreateFontToHandle(NULL, 180, 3);
/*タイトル画面のマイナスブロックの画像の読み込み*/
Title_MinusBlock = LoadGraph("image/Title_MinusBlock.png");
/*タイトル画面のプラスブロックの画像の読み込み*/
Title_PlassBlock = LoadGraph("image/Title_PlassBlock.png");
/*タイトル画面のスタートボタンの画像の読み込み*/
StartButton = LoadGraph("image/StartButton.png");
for (PositionY; PositionY <= 700; PositionY++) {
if (PositionY <= 699) {
/*左下のマイナスブロックの描写*/
DrawGraph(200, PositionY, Title_MinusBlock, TRUE);
/*右下のプラスブロックの描写*/
DrawGraph(1450, PositionY, Title_PlassBlock, TRUE);
WaitTimer(5);
/*画面のクリア*/
ClearDrawScreen();
}
else {
DrawGraph(200, PositionY, Title_MinusBlock, TRUE);
/*右下のプラスブロックの描写*/
DrawGraph(1450, PositionY, Title_PlassBlock, TRUE);
/*タイトルロゴの表示*/
DrawStringToHandle(575, 120, "タイトル", Cr_Black, TitleLogo);
/*中央スタートボタンの描写*/
DrawGraph(550, 550, StartButton, TRUE);
}
}
}
[/code]
このようにしたらモーションを付けることにできました。
コードに使ったWaitTimerは使用しても大丈夫なのでしょうか?(ゲームプログラムの館を見た際にあまり使わないほうがいいと書いてあったので)