2015年11月13日金曜日

Box2D.jsとjQueryを共存させて使う場合、読み込みの順序に注意が必要である

どのような状況で何が起きどうすると解決できるのか?

そもそもBox2DのJavaScript実装に様々なものがありすぎてどれのことを言っているのかわからないことが多いので、先にはっきりさせておこう。

kripken/box2d.js 今回問題とするBox2DのJavaScriptバインドはこちらである。Emscriptenとかいう、C/C++をJavaScriptに変換する 黒魔術 技術を用いた何か、らしい。

これとjQueryを共存させて使う場合、Box2D.jsをscriptタグで読み込んだのちにjQueryを読み込むようにしないといけない。

    <script src="js/Box2D_v2.3.1_min.js"></script>
    <script src="js/jquery-2.1.4.min.js"></script>

上記のようにする。

    <script src="js/jquery-2.1.4.min.js"></script>
    <script src="js/Box2D_v2.3.1_min.js"></script>

もし逆にすると、jQueryの$関数がうまく動いてくれない。具体的には

Uncaught TypeError: Cannot read property 'ready' of undefined

このようなエラーを

$(document).ready(function(){console.log('foo');});
のようなエラーを$関数を使ったコードで発生させる(Chromeコンソール上での表記)

日記

みんな(書くのは)大好き(読むのは苦痛な)日記のコーナーである(から後半に置いた)。

#1 無所属

最近半年ほど業務委託を受けていた企業との契約が終わりとなり、完全にフリーになった。といってもまだきちんとした個人事業主届け…といったか、を出してないので、無職とも言える。つまるところ働いているという状態を定義するのは実に難しいことだとわかる。

#2 ホワイトボード

フリーになった記念(?)にホワイトボードを買った。自宅で仕事してるっぽさも出るし、無駄紙を出さずにアイディアを適当に書ける/描けるので便利である。もし保存したいときはスマホで撮れば良いのだ。

#3 経験

業務委託先ではゲーム系のエンジニアをやっていたのだが、今個人でやっている何かではガチガチのWebをやっている。経験を活かして~などと軽々しくいう人を雇いづらいのがわかる。未経験のジャングルを切り開いた経験以外を経験と呼ぶのは避けたいと思った。メタ経験か。

クライアントサイドもサーバサイドも一人でやっていると、言語がコロコロと変わって面白い。嘘をついた。面白くもなんともない。次のPJではサーバサイドでもnode.jsを使いたい。

#4 開発環境

最近はWebということでAtom(のキーバインドをぎったんぎったんにこねくり回した何か)を使っている。

それと、このエントリを書くときに思った以上にHTML上にHTMLを書くのは面倒だとわかったので、使ったツールを張っておこうと思う。便利だった。

HTML entity encoder/decoder

#5 ニュータイプ(他者とわかりあうために)

人が人をわかったような気になるのは簡単なことだ。僕らはわかりあえないことをわかりあおうじゃないか。

0 件のコメント:

コメントを投稿