iOS 4.2のSafariで各種Array型がサポートされているのを確認
前のこちらエントリーでも紹介したこちらのサイトの「New JavaScript Data-types」の項目にWebGL由来の各種Array型がサポートされたとの情報が有りました。こちらを検証する為にプログラムを書きました。
主な処理はこちら。インスタンスの生成に失敗したら定義されていないという判断です。
function chreckResult(v) { var res = ''; if (v) { res += ' -> <span id="successded">defined</span><br>'; } else { res += ' -> <span id="failed">undefined</span><br>'; } return res; } function test() { var resMsg = ''; var int8; try { resMsg += 'Int8Array '; int8 = new Int8Array(3); } catch(e) { } resMsg += chreckResult(int8); var uint8; try { resMsg += 'Uint8Array '; uint8 = new Uint8Array(3); } catch(e) { } resMsg += chreckResult(uint8); var int16; try { resMsg += 'Int16Array '; int16 = new Int16Array(3); } catch(e) { } resMsg += chreckResult(int16); var uint16; try { resMsg += 'Uint16Array '; uint16 = new Uint16Array(3); } catch(e) { } resMsg += chreckResult(uint16); var int32; try { resMsg += 'Int32Array '; uint8 = new Int32Array(3); } catch(e) { } resMsg += chreckResult(int32); var uint32; try { resMsg += 'Uint32Array '; uint32 = new Uint32Array(3); } catch(e) { } resMsg += chreckResult(uint32); var float32; try { resMsg += 'Float32Array '; float32 = new Float32Array(3); } catch(e) { } resMsg += chreckResult(float32); var float64; try { resMsg += 'Float64Array '; float64 = new Float64Array(3); } catch(e) { } resMsg += chreckResult(float64); document.getElementById("result").innerHTML = resMsg; } window.addEventListener('load', test, false);
実際に試したい場合はiOS 4.2のiPhoneでこちらにアクセスして下さい。
Int32Array と Float64Array 以外、全てのArray型がサポートされるているのが確認できます。
ちなみにWebGLに対応したChromeやWebKitでアクセスしても同様の結果になりました。今のところ Int32Array と Float64Array は実装しないのが主流の様です。
関連サイト
ArrayBufferView - MDC Doc Center
https://developer.mozilla.org/en/JavaScript_typed_arrays/ArrayBufferView#Typed_array_subclasses
JavaScript typed arrays - MDC Doc Center
https://developer.mozilla.org/en/JavaScript_typed_arrays
Typed Array Specification
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/TypedArray-spec.html
「Pro Android Games」の翻訳本「プロフェッショナルAndroid ゲームプログラミング」が発売されました
これは書店で帯を見ただけでその方面のプログラマにはスゴイ訴えるものが有るんじゃないでしょうか?編集さん中々やるなw
という事で帯に書いてある事を書き出してみます。
まずは表紙の帯。
JavaとCによる
"ゲーム作りのポイント"が分かる!
伝説の3Dシューティングゲーム
「Worfenstein 3D」「Doom」も
Androidに簡単に移植できる!
※「Doomってシューティングゲームだっけ?」と疑問を持つ方もおられるかもしれませんが米国ではシューティングゲームと言ったらFPSの事になります。
裏表紙側の帯。
◎JavaSとCを組み合わせたAndroidゲームの作り方がわかる
◎ゲームのライフサイクル、初期化、描画、画面更新、
キータッチ/タッチイベントへの応答などの基礎がわかる
◎OpenGLを使ったAndroid向けの3D開発がわかる
◎10万行を超えるPCゲームのAndroidへの簡単な移植の仕方がわかる
◎JavaとCをつなぐJNI(Javaネイティブインターフェイス)の使い方がわかる
WebOS Goodiesさんのところでも丁寧解説されていますでこちらも合わせてどうぞ。こちらのエントリーのタイトルに有る様に少々、異色な本なのでこちらでの解説を読んでから購入を検討した方が良いと思います。
異色の Android ゲーム開発解説書「プロフェッショナルAndroidゲームプログラミング」書評 - WebOS Goodies
http://webos-goodies.jp/archives/book_pro_android_games.html