怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き)
いきなりですがゴメンナサイ… サンプルをお知らせするのを忘れておりました!!
以前, 『 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました.』という エントリーを書きました. 今回はその紹介に加え, サンプルページの紹介を追加しました.
良かったら参考にしてください.
ってことで本題.
8月24日に私が執筆した「enchant.js開発のレシピ」という本が出版されました. enchant.js でゲーム開発をする際に使える実践的なサンプルを 集めたレシピ集です.
今年は『日本国民全員プログラマ化計画』に向けて大きく動きます!!
Table of contents
本の内容
HTML5とJavaScriptベースのゲームエンジン「enchant.js」開発者向けの実践的サンプルだけを集めたレシピ集です. JavaScriptだけでスマホ対応のゲーム作りを手軽に楽しむためのテクニックを19分野にわけて掲載.
Google Developer Toolsやjsdo.itといった開発環境の使い方や, enchant.jsの基礎からgl.enchant.jsを使った3Dプログラミングまで幅広く扱い, 全部で115個のレシピを解説しています.
「基礎を学んだあと, どのように応用すればいいのか」に悩む人を対象に, 「基礎を組み合わせることでこんなことができますよ!」「応用することでゲームのこういった場面で使えますよ!」といった ステップアップに向けたヒントを提案しています.
また, 以前私が書いた『enchant.js 怒涛の 100 tips』を書籍化したものだと思われている方がいるかもしれませんが, 違います!!
怒濤のやつは1日で目次もサンプルも作っちゃったのでいろいろと荒削りです.
今回執筆したレシピ集は, 出版社の方と一緒に長期間, 吟味に吟味を重ねて 目次を練り直し, サンプルもすべて丁寧に作り直しています.
怒濤では扱っていなかったプラグインについてのレシピが 50 近くあることからも それがわかると思います.
対象者
- 基礎を身につけ次のステップに進もうと考えている方
- 他言語, 他環境でゲーム開発経験のある熟練者. やれることだけ把握すればサクッとゲームを作れる方.
- 初心者でも躓かないよう目次を意識して作ったので enchant.js 初心者の方にもオススメ!!です.
目次&サンプルページ
サンプルページ
GitHub 上にサンプル用リポジトリを公開しております.
サンプルページでは, ナビゲーションバーの Sample を押すと レシピ一覧が表示されます.
レシピ名のリンクを押すことで右側の画面に実行結果が表示されます. サクサクっとサンプルを実行することができます.
またナビゲーションバーの Download リンクを押せば全ての サンプルをダウンロードすることができます.
目次
下記のリンクから個別にサンプルを実行することもできます.
Chapter01 開発環境のレシピ
- レシピ 001 enchant.jsをダウンロードして実行する
- レシピ 002 Chrome Developer Toolsを使う
- レシピ 003 変数の中身を表示する
- レシピ 004 変数の詳細を表示する
- レシピ 005 エラーの内容、場所を確認する
- レシピ 006 break pointをセットして処理を止める
- レシピ 007 jsdo.itのコードを作る
- レシピ 008 jsdo.itで作ったコードを編集する
- レシピ 009 jsdo.itで作ったコードを保存、実行する
- レシピ 010 jsdo.itで作ったコードにライブラリを追加する
- レシピ 011 jsdo.itで作ったコードをダウンロードする
- レシピ 012 jsdo.itで作ったコードをスマートフォンモードで実行する
- レシピ 013 jsdo.itで作ったコードをフルスクリーンモードで実行する
Chapter02 基本のレシピ
Chapter03 EventTargetのレシピ
- レシピ 018 更新イベントリスナを登録する(on+イベント名)
- レシピ 019 更新イベントリスナを登録する(addEventListener)
- レシピ 020 タッチイベントリスナを登録する
- レシピ 021 独自イベントを作成、発行する
- レシピ 022 登録したイベントリスナを削除する
- レシピ 023 登録した全てのイベントリスナを削除する
- レシピ 024 イベントに登録した無名関数を削除する
Chapter04 Node、Entityのレシピ
- レシピ 025 背景色を指定する
- レシピ 026 幅、高さを指定する
- レシピ 027 移動させる
- レシピ 028 相対的に移動させる
- レシピ 029 透明度を指定する
- レシピ 030 表示/非表示を切り替える
Chapter05 Spriteのレシピ
- レシピ 031 回転させる
- レシピ 032 拡縮させる
- レシピ 033 フレームアニメーションさせる
- レシピ 034 フェードアウト/フェードインさせる
- レシピ 035 タッチしたら削除する
- レシピ 036 大量のSpriteを表示する
- レシピ 037 ランダムな方向に移動させる
- レシピ 038 移動させて画面外に出ないように制御する
- レシピ 039 フレームアニメーションを使って画面上を走らせる(進行方向に応じて向きを変更する)
Chapter06 Labelのレシピ
- レシピ 040 表示するテキストの色を指定する
- レシピ 041 表示するテキストのフォントスタイルを指定する
- レシピ 042 タッチする度にカウントアップさせる
- レシピ 043 経過フレームを表示する
- レシピ 044 経過時間を表示する
- レシピ 045 指定した時間以下になったら色を変える
- レシピ 046 指定した時間以下になったら点滅させる
Chapter07 Surfaceのレシピ
- レシピ 047 点を描画する
- レシピ 048 直線を描画する
- レシピ 049 四角形を描画する
- レシピ 050 三角形を描画する
- レシピ 051 円を描画する
- レシピ 052 円弧を描画する
- レシピ 053 画像を描画する
Chapter08 Mapのレシピ
Chapter09 キー入力/タッチ操作のレシピ
- レシピ 056 キーと数値をバインドする
- レシピ 057 十字キー入力に応じて移動させる
- レシピ 058 キー入力に応じてジャンプさせる
- レシピ 059 画面端に行ったら逆にワープさせる
- レシピ 060 タッチした位置に移動させる
- レシピ 061 タッチしている位置に移動させる
- レシピ 062 傾きセンサーに反応させる
Chapter10 当たり判定のレシピ
Chapter11 Groupのレシピ
Chapter12 Soundのレシピ
- レシピ 067 音を読み込んで再生する
- レシピ 068 音を連続で再生する
- レシピ 069 再生中の音を停止する
- レシピ 070 音を中断、再開する
- レシピ 071 音のボリュームを変更する
- レシピ 072 BGMをループ再生させる
Chapter13 nineleap.enchant.jsのレシピ
Chapter14 util.enchant.jsのレシピ
Chapter15 ui.enchant.jsのレシピ
Chapter16 avatar.enchant.jsのレシピ
Chapter17 tl.enchant.jsのレシピ
- レシピ 085 フレーム数を指定して移動させる
- レシピ 086 フェードイン/フェードアウトさせる
- レシピ 087 拡縮アニメーションする
- レシピ 088 回転アニメーションする
- レシピ 089 待ち時間を設定する
- レシピ 090 アニメーション終了後に関数を実行する
- レシピ 091 アニメーション終了後に複数の関数を実行する
- レシピ 092 トゥイーンアニメーションさせる
- レシピ 093 並列でアニメーションさせる
- レシピ 094 ループアニメーションさせる(ジグザグに移動させる)
- レシピ 095 イージングを指定する
Chapter18 gl.enchant.jsのレシピ
- レシピ 096 gl.enchant.jsをセットアップする
- レシピ 097 カメラを動かす
- レシピ 098 ライトの方向を変更する
- レシピ 099 テクスチャを貼り付ける
- レシピ 100 3Dスプライトを動かす
- レシピ 101 3Dスプライトを回転させる
- レシピ 102 3Dスプライトを拡縮させる
- レシピ 103 平面を生成、表示する
- レシピ 104 ボックスを生成、表示する
- レシピ 105 キューブを生成、表示する
- レシピ 106 球体を生成、表示する
- レシピ 107 シリンダーを生成、表示する
- レシピ 108 トーラスを生成、表示する
- レシピ 109 3Dモデルを生成、表示する
Chapter19 その他のレシピ
- レシピ 110 ゲームのフレームレートを設定する
- レシピ 111 ゲーム画面の幅を勝手に拡縮しないようにする
- レシピ 112 スマートフォンでホームにアイコンを追加する
- レシピ 113 スマートフォンでフルスクリーン表示する
- レシピ 114 フルスクリーン表示した際のステータスバーを透明にする
- レシピ 115 9leapに投稿する
執筆にあたり
きつかった! ただ, それ以上に楽しかった!!
初めての執筆だということと色々と掛け持ちしていたので かなりタイトなスケジュールの中での執筆でした.
ただ, 私自身 enchant.js のヘビーユーザーなので, 執筆しながらとても良い勉強ができました.
wise9 でも触れられているように enchant.js の情報はまだまだ ニーズに追いついていないように思います.
この本が起爆剤となってどんどんプログラミングについて 発信する人が増え, ゲーム開発者が増えてくれると嬉しいです.
ちなみに私が書いた enchant.js 本の印税も公式ガイド同様 将来を担う少年少女プログラマのために何らかの形で還元します.
なので私のことが嫌いな人も, 良い本だなぁと思ったら Amazon に良いレビューを書いて下さいw そして, 悪い本だなぁと思ったらこそっと私にメールして下さいww
振り返り & 謝辞
5年前にプログラミングに出会い, 手当たり次第参考書を読みあさり, ゲームやツールを作りまくり, 3年前には東京と福岡を行き来しながらiPhone アプリを開発し, 2年前にはゲーム会社でゲーム開発.
そして現在は会社を辞めて執筆活動.
怒濤と呼ぶにはまだまだですが, プログラミングと出会ってからの5年間は私にとってはとても濃いものでした.
ここだけ読むと, もうすぐオレ死ぬのかなって内容だなw
っと冗談はさておき.
今回お話をくれ, 執筆に協力してくれた秀和システムの K 氏, enchant.js を開発してくれた UEI の方々, いつも良いアドバイスをくれた友人, 常にそばで心の支えとなってくれた家族. 全ての方に心から感謝申し上げます.
もう一冊の enchant.js 本
実は同時期にもう一冊 enchant.js 本を執筆してました. 怒濤の執筆と書いたのはそういうことです.
名前は『enchant.js スマートフォンゲーム開発講座 PRO対応 』.
こちらはレシピ本とは違い, JavaScript の基礎から enchant.js による ゲーム開発を Step by Step で学べる内容となっております.
こちらの本についても近々エントリーで詳しく書きます.
姉妹書
過去に『iPhoneSDK開発のレシピ』と『AndroidSDK開発のレシピ』という姉妹書が出版されています. 今回の話しをいただく前からたまたま読んでいたのですが, どちらも実践的なサンプル盛りだくさんで オススメですよ♪
サンプルページの紹介を追加しました!!
[javascript][enchant.js][book]サンプルページの紹介を追加しました!! / “怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/NUyGFtHU
サンプルページの紹介を追加しました. 本書にあるサンプルの実行, ダウンロードが可能です. よかったら観てください♪
『怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き)』 http://t.co/hzKV3bO3
#javascript #book
[javascript][enchant.js][book]サンプルページの紹介を追加しました!! / “怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/NUyGFtHU
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) http://t.co/S94utmI6 @phi_jpさんから
javascript: 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/xjMOF1j3
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/MHfREPmQ
“怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/W9qzykBx
javascript: 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/xjMOF1j3
【はてブ新着IT】 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/wq6S0veC
[enchant.js] / “怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/eVYmkCwL
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life
http://t.co/Z823wI7W
javascript: 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/4tpwnRii
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/V8c3c8io
“怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/zJvjrcH0
“怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/zJvjrcH0
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/fAUqwTKN
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/EZcVCcz2 #javascript
サンプルページの紹介を追加しました. 本書にあるサンプルの実行, ダウンロードが可能です. よかったら観てください♪
『怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き)』 http://t.co/hzKV3bO3
#javascript #book
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/GRFQLWcz http://t.co/wmsNmzhz
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/EZcVCcz2 #javascript
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/3hb72rDJ
“怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/FTnY3ATU
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/cEDeiHZn
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/OVjpmit6
HTML5:JavaScript:書籍:メモ:「 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き)」
http://t.co/OKl9zv09
これぐらいのサイズが持ち運びに一番いい。振り返り & 謝辞の部分がとても参考になった! / 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) http://t.co/WO8WawyY
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/EZcVCcz2 #javascript
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life http://t.co/cj9ksL4g
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life いきなりですがゴメンナサイ… サンプルをお知らせするのを忘れておりました!! 以前, 『 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました.』
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life いきなりですがゴメンナサイ… サンプルをお知らせするのを忘れておりました!! 以前, 『 怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました.』
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) http://t.co/rdxu6cQ0 @phi_jpさんから
怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) http://t.co/rdxu6cQ0 @phi_jpさんから
“怒濤の執筆!!「enchant.js開発のレシピ」を執筆しました(サンプル付き) | TM Life” http://t.co/zJvjrcH0