tmlibの練習ブログ

自分流にtmlibを触っていきます。分かったことを解説。入門用になれば…?

開発のための知識

デフォルトから一本のゲームを完成させる10.forとは

前回では配列を覚えた。 今回は配列とセットで for を学ぶ。 for( ){ }というのは、 ( )の中で指定した数だけ、{ }の中に書いた処理の繰り返しをさせる文法。 var repeatCount = 3; for ( var i = 0; i < repeatCount ; i += 1) { alert("aaa"); }こう書くと…

デフォルトから一本のゲームを完成させる9.配列とは

前回にて配列という新しい存在が出てきた。 配列とは、[ ]でくくってやり、一つの変数に複数の要素を入れたもの。 入れた順番で自動的に数字が割り振られ、配列[数字]で、中に入れた要素へアクセスできる。 分かりやすい例だと var names = ["伊藤" , "石井"…

デフォルトから一本のゲームを完成させる4.オブジェクト指定子で関係を明確にしてみる

デフォルトから一本のゲームを完成させる3.オブジェクトをreturnで返す。 - tmlibの練習ブログで作ったmakeLableはグローバル関数という事で、どこからでも呼び出せてしまう。 変数にvarを付けるのと同じで、使える範囲は狭いほど、余計な事を考えなくて済…

クラスとオブジェクトの違いの話ーオブジェクト指向

tmlibは"クラス"の概念を導入している。 [Documents]で検索すると出てくる項目、tm.app.Object2D tm.display.Labelだとかは、全て"クラス"である。 今までも少しずつ触れてきた、クラスとオブジェクトの違いは何か? デフォルトから一本のゲームを完成させる…

デフォルトから一本のゲームを完成させる1.オブジェクトを作る

今回から本腰を入れて一つ、ちょっとしたゲームと呼べるものを完成させたい。 以後、開発を楽にするための色々な技術を取り込んでいくけど、全部すぐに覚えたり理解しなければいけない、という訳ではない。 基本的には今までのやり方でも出来る。 ただ、それ…

main.jsを外部ファイルに切り分ける

main.jsに書いたコードが長くなり、行数が増えると今いじりたい箇所も探しづらくなる。 色々なアプローチはあるだろうけど、ここでは"外部ファイル"にしてみようと思う。 例えば、設定ファイルが書かれた部分… 前回のコードだと、 /* * constant */ と書かれ…

デフォルトのmain.jsをいじる14,関数の外にデータを持ち出す(return)

前回の続き。変数のスコープの関係上、関数内で使われた数値を外に持ち出すためには、一工夫がいる。 (もちろんグローバル変数を使っても持ち出せるが、関数のたび作っていては不便) returnというものが用意されている。 具体的には this.star.scale_sp_widt…

デフォルトのmain.jsをいじる12,関数の引数について。

前回に続き、関数の発展的な事を学ぶ。 関数には、引数(ひきすう)というものを渡せる。 aaa = function(mozi){alert(mozi);} // #引数をmoziとして受けとる。 aaa("アラートだよ"); // #引数を渡す 関数の実行を表わす( )の中に、渡したいデータを書く(変数…

デフォルトのmain.jsをいじる11,関数(function)って?

前回では、キャラの拡大を反映した当たり判定を書いた。 だがいまいちスマートではなく、もっと短くできないだろうか…と。 その為にまず、"関数"というものを理解する必要がある。 関数とは、functionが頭に付き、{ }の間に、行う処理をずらっと書いたモノ。…

var 変数のvarって?(変数のスコープについて)

変数には、スコープというものが存在する。 これはその変数が、どこを過ぎるまで保存するか(どこを過ぎたら消去されるか)といったルール付けだ。 例えば、 var key = app.keyboard;userData = tm.util.DataManager.get("userData");これらで、疑問を抱かなか…

デフォルトのmain.jsをいじる8,当たり判定で敵消滅+Documentsの見方。

前回、console.logで当たり判定を確かめたところを、一気にゲームぽくしよう。 まず、[Documents]でStarShapeの項目を探すと、"消滅フラグ"―visibleというのを見つけられる。 これを使えば"ヒットした時に消滅"という事も簡単にできる。 …しかしここでちょっ…

ループ内など、alert()では確認しづらい場合

デフォルトのmain.jsをいじる1,キー入力可能に - tmlibの練習ブログでは確認の方法として、alert("aaa")と書いた。 これでももちろん、用を足しているのだが、例えばループや毎フレーム実行される所に置くと (初期のmain.jsならupdate: function(app) {…}内…

エラーが出た時に、原因を表示したい(デバッグツール)

JavaScript(tmlibもベースはこれ)でエラーが出た時、ただ止まるだけで、どこでエラーが出たのか、分かりにくい。 そんな時はfirefoxならfirebug、 GoogleChormeならGoogle Chrome Developer Tools… safariなら{開発}でエラーコンソール、 と、各ブラウザでそ…