CoffeeScript+enchant.jsでクロージャが気持よくかけた話

9,888 views

Published on

enchant.js meetup! 東京 vol.2 ( http://atnd.org/events/26921 )で行ったライトニングトークの資料です。

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,888
On SlideShare
0
From Embeds
0
Number of Embeds
6,392
Actions
Shares
0
Downloads
10
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

CoffeeScript+enchant.jsでクロージャが気持よくかけた話

  1. 1. それ、CoffeeScriptで簡単に書けるよ(仮) @hidesuke
  2. 2. hidesuke (表) • ISPとかネトゲ屋さんで スマホ向けゲームを作っ ている人 • ここ2年間くらい仕事で 特殊なjsしか書いてない – Sencha Touch – ngGame – node.js – Unity
  3. 3. Osaki.js• 会社の有志で集まって楽しくプログラミ ングする会• 別名:『enchant.js部』
  4. 4. hidesuke (裏)• シャチクミィという同人 サークルで社畜グッズを 作っている• http://please.shachiku.me/
  5. 5. CoffeeScript
  6. 6. CoffeeScript• JSにコンパイル(変換?)して使う• Better JavaScript – JavaScriptの悪いところの多くが解決してい る – JSのバッドノウハウとかいちいち覚えてられ ん• 簡潔な記述• とても小さな言語なのですぐ覚えること ができる
  7. 7. 詳しくはググれ
  8. 8. で、
  9. 9. 今日は
  10. 10. クロージャ の話をします。
  11. 11. CoffeeScript + enchant.js で 気持ちよくクロージャが書けた話
  12. 12. クロージャクロージャはある関数全体が他の関数(以下、エンクロージャ)の内部で宣言されたときに発生し、内部の関数はエンクロージャのローカル変数(レキシカル変数)を参照する。実行時に外部の関数が実行された際、クロージャが形成される。クロージャは内部の関数のコードとエンクロージャのスコープ内の必要なすべての変数への参照からなる。 -- Wikipediaより
  13. 13. なるほど、まったくわからん。
  14. 14. わかりやすい解説が!
  15. 15. で、
  16. 16. ある日、enchant.jsときゃっきゃうふふしてるときに気付いた
  17. 17. シューティングゲームのN連射弾
  18. 18. かクけロるー!ジ ャ で
  19. 19. クロージャで書いてみた ご自慢のクロージャ部分
  20. 20. 解説(クロージャ部分)弾の種類を表すcallback関 N連発の指定 数 初期値はn = 5 弾が発射される間隔のフレーム数 初期値は10フレーム 条件を満たすと弾を発射する前の弾をうってからの 関数を戻り値として返却する 経過フレーム数
  21. 21. 解説(呼び出し部分) this.curtainFire(さっきのクロージャが返却した 関数)が定義されていれば毎フレーム呼び出す さっきのクロージャにわたす Callback関数(弾を作ってSceneに追加する)180フレームに一回、クロージャを呼び 出す 弾を打つ関数を作ってもらう
  22. 22. N連射弾がうてた!
  23. 23. JSで書いたらこうなった
  24. 24. まとめ• かるい気持ちでCoffeeScriptとか発言する と刺される• クロージャは全然怖くない• https://github.com/hidesuke/danmaku.enc hant.js
  25. 25. まとめ• かるい気持ちでCoffeeScriptとか発言する と刺される• クロージャは全然怖くない• https://github.com/hidesuke/danmaku.enc hant.js
  26. 26. 宿題• 『slideshare hidesuke』 でググる• 『CoffeeScript』でググる• 『猿でもわかるクロージャ』でググる 私にもクロージャ が書ける!
  27. 27. 参考文献• CoffeeScript – http://coffeescript.org/• CoffeeScript入門 – プログラムdeタマゴ – http://d.hatena.ne.jp/nodamushi/20110108/1294518316• [JavaScript] 猿でもわかるクロージャ超入門 まとめ - DQNEO 起業日記 – http://dqn.sakusakutto.jp/2009/01/javascript_5.html• スライド中の画像は以下を使わせていただきました – http://simapantu.blog130.fc2.com/blog-entry-140.html• Osaki.js (ステマ) – http://osakijs.blogspot.jp/

×