GamePageExample - rikuryo-bukken/rikuryo-bukken.github.io GitHub Wiki
ゲームのページの例を示す。
new_game
├── index.html
├── style.css
├── script.js
└── source
├── index.html
└── ...
sourceフォルダにはunityでwebGLとしてビルドして生成されたファイルやフォルダを全て入れる。正しく入れれば、sourceフォルダの直下にindex.htmlがあるはずである。
その他のindex.html、style.css、script.jsは、例えば以下のようにする。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{game title} | {grade}期 | 北野高校物理研究部</title>
<link rel="icon" href="/favicon.ico">
<meta name="description" content="北野高校物理研究部{grade}期が制作した{game title}です。このページでプレイできます。物理研究部は、ゲーム制作など、プログラミングを中心に、情報に関連する制作を自由に行っています。">
<link rel="stylesheet" href="./../default.css">
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div id="game">
<button id="fullscreen_game">ゲームをフルスクリーンで表示(ゲームが再読み込みされます)</button>
<iframe id="game_frame" src="./source/index.html" title="{game title}"></iframe>
</div>
<nav id="pager">
<ul>
<li><a href="/">トップページ</a></li>
<li><a href="/works/">期ごと一覧</a></li>
<li><a href="/{grade}/">{grade}期</a></li>
</ul>
<ul>
<li><a href="/games/">ゲーム集</a></li>
</ul>
<ul>
<li><a href="/sitemap/">サイトマップ</a></li>
</ul>
<ul>
<li><a href="./source/" target="_blank">別タブでプレイ</a></li>
</ul>
</nav>
<script src="./script.js"></script>
</body>
</html>
body {
font-family: 'Noto Sans JP', 'BIZ UDGothic', 'メイリオ', 'Meiryo', 'Meiryo UI', sans-serif;
color: #333333;
line-height: 1.5;
}
#game {
flex: 8;
}
#fullscreen_game {
width: 100%;
padding: 6px;
}
#game iframe {
box-sizing: border-box;
width: 100%;
height: 100%;
}
#pager {
flex: 2;
background-color: darkcyan;
box-sizing: border-box;
width: 100%;
height: 100vh;
padding: 10% 2em;
overflow: auto;
}
#pager ul {
background-color: azure;
border-radius: 10px;
margin-top: 0;
margin-bottom: 10%;
list-style: none;
padding: 0.1px 0;
padding-left: 0;
}
#pager ul:last-child {
margin-bottom: 0;
}
#pager ul li {
margin: 7px 0;
}
#pager ul li a {
padding: 3px 5px;
text-decoration: none;
}
#pager ul li a:link {
color: #33007b;
}
#pager ul li a:visited {
color: #33007b;
}
#pager ul li a:active {
color: #7b0000;
}
body {
display: flex;
flex-direction: row;
margin: 0;
overflow: hidden;
height: 100%;
}
html {
height: 100%;
}
@media (orientation: portrait) {
body {
display: flex;
flex-direction: column;
}
#pager {
flex: initial;
height: auto;
padding: 1.2em 2em;
}
#pager ul {
margin-bottom: 15px;
}
}
const iframeElementForGame = document.getElementById("game_frame");
document.getElementById("fullscreen_game").addEventListener('click', event => {
iframeElementForGame.requestFullscreen();
});
iframeElementForGame.addEventListener('fullscreenchange', event => {
iframeElementForGame.contentWindow.location.reload();
});