ProjectDirectory/
│
├── Main.cpp
├── Common.hpp
├── Title.hpp
├── Title.cpp
├── Game.hpp
└── Game.cpp
-
-
Save Reputeless/9fdae7c44013e25f290b255dcc8701e7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma once | |
# include <Siv3D.hpp> | |
using App = SceneManager<String>; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# include "Game.hpp" | |
Game::Game(const InitData& init) | |
: IScene{ init } | |
{ | |
} | |
void Game::update() | |
{ | |
if (MouseL.down()) | |
{ | |
changeScene(U"Title"); | |
} | |
} | |
void Game::draw() const | |
{ | |
Scene::SetBackground(ColorF{ 0.3, 0.4, 0.5 }); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma once | |
# include "Common.hpp" | |
// ゲームシーン | |
class Game : public App::Scene | |
{ | |
public: | |
Game(const InitData& init); | |
void update() override; | |
void draw() const override; | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# include <Siv3D.hpp> // Siv3D v0.6.12 | |
# include "Common.hpp" | |
# include "Title.hpp" | |
# include "Game.hpp" | |
void Main() | |
{ | |
Window::Resize(1280, 720); | |
Window::SetTitle(U"Siv3D Game v1.0"); | |
Scene::SetBackground(ColorF{ 0.6, 0.8, 0.7 }); | |
FontAsset::Register(U"Bold", FontMethod::MSDF, 48, Typeface::Bold); | |
App manager; | |
manager.add<Title>(U"Title"); | |
manager.add<Game>(U"Game"); | |
while (System::Update()) | |
{ | |
if (not manager.update()) | |
{ | |
break; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# include "Title.hpp" | |
Title::Title(const InitData& init) | |
: IScene{ init } | |
{ | |
} | |
void Title::update() | |
{ | |
if (m_startButton.leftClicked()) | |
{ | |
changeScene(U"Game"); | |
} | |
if (m_quitButton.leftClicked()) | |
{ | |
System::Exit(); | |
} | |
} | |
void Title::draw() const | |
{ | |
Scene::SetBackground(ColorF{ 0.6, 0.8, 0.7 }); | |
const Font& font = FontAsset(U"Bold"); | |
font(U"Siv3D Game").drawAt(120, Vec2{ 640, 200 }, ColorF{ 0.96 }); | |
m_startButton.draw(ColorF{ 0.96 }); | |
font(U"Start").drawAt(m_startButton.center(), ColorF{ 0.2 }); | |
if (m_startButton.mouseOver()) | |
{ | |
m_startButton.drawFrame(2, 0, ColorF{ 0.2 }); | |
Cursor::RequestStyle(CursorStyle::Hand); | |
} | |
m_quitButton.draw(ColorF{ 0.96 }); | |
font(U"Quit").drawAt(m_quitButton.center(), ColorF{ 0.2 }); | |
if (m_quitButton.mouseOver()) | |
{ | |
m_quitButton.drawFrame(2, 0, ColorF{ 0.2 }); | |
Cursor::RequestStyle(CursorStyle::Hand); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma once | |
# include "Common.hpp" | |
// タイトルシーン | |
class Title : public App::Scene | |
{ | |
public: | |
Title(const InitData& init); | |
void update() override; | |
void draw() const override; | |
private: | |
Rect m_startButton{ Arg::center(640, 480), 400, 80 }; | |
Rect m_quitButton{ Arg::center(640, 580), 400, 80 }; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment