ESKEES の作品を自分のサイトに置く
アルファ版(2026 年 9 月時点)の内容です。予告なく変更される場合があります。
ESKEES で作った作品(.eskx / .emg)は、showcase の外でも遊べます。方法は 3 つです。
- showcase の作品を埋め込む … iframe を 1 行貼るだけ。公式サンプルも、投稿された作品も置けます。
- 自分の
.eskxを置く … ESKEES Player(CDN)を読み込み、<eskees-player>タグでファイルの URL を指定します。showcase に投稿していない作品も置けます。 - Studio から Web ページとして書き出す … 作品を埋め込んだ HTML 1 ファイルができます。置くだけで遊べます。
どれも、showcase と同じ再生エンジンで動きます。スクリプト・UI・マスク・ステージ・物理・サウンド・カメラも、そのまま動きます。
動作例
下は、このページに <eskees-player> で置いた「かさねて 2048」です。押すと始まります(矢印キー・スワイプで操作)。
1. showcase の作品を埋め込む
showcase の作品のページで「埋め込む」を押すと、貼り付けるコードが表示されます。作品の URL が https://showcase.eskees.com/w/作品の ID なら、次のとおりです。
<iframe src="https://showcase.eskees.com/embed/作品の ID"
style="width: 100%; aspect-ratio: 16 / 9; border: 0"
allow="autoplay; fullscreen; gamepad" loading="lazy"></iframe>
- 押すまで作品を読み込みません(ページを開いただけでは通信しません)。
- スコアが出ると、その場でランキングに載せられます(押したときだけ送ります)。
- 公開をやめた作品は「この作品は見つかりません」と表示されます。
2. 自分の .eskx を置く(ESKEES Player)
ESKEES の「エクスポート ▾」で出力した .eskx を自分のサーバーに置き、次のように書きます。
<script type="module" src="https://showcase.eskees.com/player/1/eskees-player.js"></script>
<eskees-player src="/games/my-game.eskx" style="width: 800px; aspect-ratio: 16 / 9"></eskees-player>
属性
src | 作品の URL(.eskx / .emg)。必須 |
|---|---|
autoplay | 押さずに始める。音は、最初に画面を押したときから鳴ります(ブラウザの制限) |
lang | ボタンなどの文言(ja / en)。省略するとブラウザの言語 |
saves | セーブデータ。local(既定。そのサイトのブラウザに残る)か memory(閉じたら消える) |
大きさはページの側で決めます。指定しなければ、横幅いっぱい・16:9 で表示します。作品のキャンバスと同じ縦横比(aspect-ratio)にすると、余白が出ません。
イベント
eskees-ready | 作品を開けた |
|---|---|
eskees-error | 開けなかった(detail.message に理由) |
eskees-score | スクリプトがスコアを出した(detail に { board, value, lower })。showcase のランキングには送りません |
document.querySelector('eskees-player').addEventListener('eskees-score', (e) => {
console.log(e.detail.board, e.detail.value);
});
JavaScript から置く
<script type="module">
import { mount } from 'https://showcase.eskees.com/player/1/eskees-player.js';
const game = await mount(document.getElementById('game'), '/games/my-game.eskx', { autoplay: true });
// game.restart() で最初から、game.togglePause() で一時停止、game.destroy() で外す
</script>
3. Studio から Web ページとして書き出す
ESKEES Studio の「エクスポート ▾」→「Web ページとして書き出す(HTML)」で、作品を埋め込んだ HTML 1 ファイルができます。
- その HTML をサーバーに置くだけで遊べます。
.eskxを別に置く必要も、CORS の設定も要りません。 - 再生は ESKEES Player(CDN)です。見る人のブラウザが
showcase.eskees.comから Player を読み込みます。 - 作品は HTML の中に入るので、ファイルは作品の 4/3 ほどの大きさになります。大きな作品は、2. の方法(
.eskxを置いて<eskees-player src>)のほうが軽くなります。
置けるサイト・置けないサイト
- 置ける: HTML と JavaScript を自分で書けるところ(自分のサーバー・レンタルサーバー・GitHub Pages・Netlify・Vercel・Cloudflare Pages など)。自分で運営する WordPress では、カスタム HTML のブロックに書けます。
- 置けない: 記事に
<script>を書けないサービス(ブログや技術記事の投稿サイトの多く)。iframe を貼れるサービスなら、1. の埋め込みを使ってください。 - CSP(Content-Security-Policy)で外部のスクリプトを止めているサイトでは、
script-srcにhttps://showcase.eskees.comを加える必要があります。
注意
.eskxを別のドメインに置く場合は、その置き場所で CORS を許可してください(ESKEES Player がfetchで読み込むため)。同じサイトに置けば設定は不要です。- 1 つのページに複数置けます。キー操作を受けるのは、最後に押した 1 つだけです。
- 物理を使う作品では、物理のライブラリ(planck.js)を、そのときだけ追加で読み込みます。
/player/1/の間は、属性・イベント・mountの形を変えません。中身(不具合の修正など)は予告なく更新されます。互換性のない変更をするときは/player/2/を用意します。- EMG の部分(絵とアニメーション)だけを表示すればよい場合は、公開リポジトリの EMG の CDN プレイヤーも使えます。こちらは
.eskxの拡張データ(スクリプトなど)を動かしません。