強火で進め

このブログではプログラム関連の記事を中心に書いてます。

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に対応したChromeWebKitでアクセスしても同様の結果になりました。今のところ Int32Array と Float64Array は実装しないのが主流の様です。

「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