タグ nmi.jp
人気順 10 users 50 users 100 users 500 users 1000 usersembona – ブラウザで動くBonanzaを作ってみた(その1) » nmi.jp
今回、ちょっとした縁によりBonanzaをブラウザで動かしてみました。Bonanza 6.0のソースコードをほぼそのまま利用して、EmscriptenでJavaScriptに変換しています。 技術的なことに興味はない、すぐに遊んでみたい!という方はこちらからどうぞ。初回に45Mほどダウンロードが発生します!ご注意ください。 http://tkihira.github.io/embona/index... 続きを読む
生WebGL入門:初音ミクの美麗3Dモデルを表示する(前編) » nmi.jp
Special Thanks to @hagat and @teehah for reviewing my articles! 近年、WebGLに流行の兆しが出てきました。WebGLとは、ブラウザに何らプラグインをインストールすることなく、JavaScriptよりGPUを使用した3Dの表示を可能とする技術です。プラグインのインストールが必要ないとはいえ今までは対応ブラウザが少なくあまり実用的ではあ... 続きを読む
配列のランダマイズ、出来ますか?(後編) » nmi.jp
前回のエントリ、配列のランダマイズ、出来ますか?(前編)の続きです。 前回のエントリの最後では、次のようなコードを提示し、どこが問題なのかの疑問を提起しました。 // 配列の初期化 var a = []; for(var i = 0; i < 1000; i++) { a[i] = i; } function swap(s, d) { var t = a[s]; a[s] = a[d]; a[d]... 続きを読む
配列のランダマイズ、出来ますか?(前編) » nmi.jp
先日、When Random Isn't Random Enough: Lessons from an Online Poker Exploit(英文注意)という記事がタイムラインに流れてきて、同僚と少し配列ランダマイズの話になったので備忘録として書いておきます。 配列のランダマイズというのは、たとえば上の記事にあるようなトランプのシャッフルであるとか、音楽プレイヤーの再生リストのランダム再生とか... 続きを読む
DeNAで働き始めて2年半が経ちました » nmi.jp
2014年が今日から始まりました。どうぞ皆様、今年もよろしくお願いします。 さて2014年1月1日で、DeNAで働き始めてからちょうど2年半が経過したことになりました。2年半というのは私にとって大きなマイルストーンとなりますので、それについて語ってみたいと思います。 今私はDeNAでHTML5総括という立場を名乗っておりますが、その前は「株式会社ブロードテイル」という会社を設立し、その代表取締役を... 続きを読む
JavaScriptでアニメーションを書く初歩の初歩 » nmi.jp
JavaScriptを使ってアニメーションを書くときに有用なテクニックの、基本中の基本をご紹介します。おそらく、このブログを見ている人のほとんどにとっては釈迦に説法だと思います。今回、requestAnimationFrameの話すらしません。その点、ご留意ください。 まず、JavaScriptでアニメーションをする場合に気をつけないといけないのが、一度JavaScriptの実行(Context)... 続きを読む
自分がフリーランスの時に気をつけていた3つのこと » nmi.jp
自分がフリーランスとして活動していた時期に気をつけていた3つのことを、ここで紹介します。皆さんの何らかの参考になれば幸いです。 ●仕事を、可能な限り複数同時平行で請ける フリーランスは受託開発メインになります。私がフリーランスで活動していた時は、仕事を可能な限り複数個請けるように気をつけていました。同時に3つ走るのが理想でした。 仕事先を一つに絞ると、同じような系統の仕事になり技術が向上しなくなる... 続きを読む
JavaScript イディオム集 » nmi.jp
JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 ・+v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値... 続きを読む
JavaScriptの+演算子の謎挙動に迫る » nmi.jp
JavaScriptで、手っ取り早く文字列を数字に変換するときに、+演算子(正確には単項+演算子)を使います。 var str = "3"; console.log(str + 1); // 31 because of ("3" + 1) var num = +str; console.log(num + 1); // 4 because of (3 + 1) JavaScriptの仕様として、単... 続きを読む
ExGameの製作で感じたこと » nmi.jp
久々のブログが自分語りになって大変恐縮ですが、将来の自分のためにメモしておきます。 自分がExGameの製作を始めたのは2010年11月2日のことです。iPhone上でFlashが一切動かなかった当時、HTML5でFlash Playerを作れば大当たりする可能性は非常に高そうでした。当時のバイト君に技術検証を進めてもらっていて、その結果2010年8月頃には「いけそうだ」という感覚はありました。 ... 続きを読む
JavaScripterから見たJSX » nmi.jp
私は2001年からJavaScriptを専門にして実装をしており、かなり長い間JavaScriptを使い続けてきました。ExGameをはじめとして、異常なほどにJavaScriptを使い倒したプロジェクトを何個か完遂させています。前の会社「ブロードテイル」がDeNAに買収されたのは、JavaScriptのプロダクトだけでなく、私たちのJavaScriptのスキルを生かしたいという側面も大きくあった... 続きを読む
HTML5で本格的なゲームを作る!(日経ソフトウェア10月号特集3) » nmi.jp
戻るボタンが押された際、ページのJavaScriptを途中の状態から実行させない方法 » nmi.jp
スマートフォンを含む最近のブラウザでは、戻るボタンで前のページに戻った際に、JavaScriptも含めて前回の最後の状態を復元します(Back Forward Cacheと呼ばれます)。これはとても便利なのですが、ページを作成する立場からすれば、余計なお世話であることもあります。 Back Forward Cacheの無効化はとても簡単に実現できます。ページの中にonunloadを書くだけです。 ... 続きを読む