[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Easy RDS 1.1 マスターアップ
とりあえず手っ取り早く対応できそうだと思い、Easy RDSをユニバーサル(iPhone/iPod touchとiPadどちらでも各デバイスのフル解像度で動く)アプリケーションへと改造し、バージョン番号1.1となりました。これをiPad上で動作させた場合には以下の変更があります。
・手描き描画用キャンバスをこれまでの縦240×横360ピクセルから、縦675×横900ピクセルへと拡大しました。
・作成されるランダムドットステレオグラム(以下RDSと表記)をこれまでの縦320×横480ピクセルから、縦768×横1024ピクセルに拡大しました。
・画面がどの向きでも操作が可能になりました。縦長画面ではキャンバスを時計回りに90度回転させた配置になります。この場合キャンバスの右側が完成したRDSでの上側になります。
画面が拡大したのにペンの太さはこれまでの2種類しか無いため、画面全体を塗りつぶす場合には少し面倒ですが、まずは高解像への対応を優先させました。以下にシミュレーターで撮影したスクリーンショットを掲載します。右側がXGAサイズで作成されたRDSです。画像をクリックするとフルサイズの画像が見られます。
なお、iPhone/iPod touch上で動作させた場合には以下の変更があります。
・ホームボタンが左側に来る画面の向きにも対応しました。
起動時の画面はホームボタンが右側のこれまで通りの向きで表示されますが、そのまま待てば起動後にくるりと180度回転します。縦長画面への対応はオプション(点の量の選択など)の表示に問題があるため行っていません。
Kigen バージョン2.0.1 マスターアップ
・ホーム画面のアイコンに表示される数が、実際に期限切れになっている個数より多くなる事がある。
・アイテム編集画面で表示項目が増えると、スクロールした際に「新アイテム」と表示している行に無意味な数が表示されることがある。
iTunes Connectへのアップロードもしていますが、iPad登場により審査が混んでいるという噂もあるため、承認までにはいつもより時間がかかるかもしれません。
さらば第1世代iPod touch(by iPhone OS4.0)
iPhone OS4の情報がいろいろなニュース系サイトで公開されていますが、その中には第1世代のiPhoneとiPod touchのユーザーには悲しいお知らせがあります。それはiPhone OS4へのアップグレードがないということです。これらの機種では現在のiPhone OS3.1.xで打ち止めとなるようです。もっとも第1世代のiPhone(iPhone 2G)を持っている人は日本では稀でしょうから、実質的に第1世代iPod touchの切捨てといえます。アップグレードしたところでマルチタスクなどは使えないので、メリットが無いと判断されたのかもしれません。第2世代のiPhone(iPhone 3G)やiPod touchはアップグレード自体は可能ですが、マルチタスクは非対応です。現行のiPod touchについては少々複雑で、8GBタイプの中身は実質第2世代ですから、アップグレードしてもマルチタスクは非対応になり、上位の2機種は対応します。ざっくり系の言い方をすれば、
音声コントロールに対応している機種=マルチタスク対応
ということで問題なさそうです。
私にとってはiPhone SDK3.2がプレリリースではなくなり、SDK3.2がらみの記事が書けるのがちょっとした変化でしょうか。余談になりますが、先日のiPhone SDK 3.2の正式版への昇格により、これからiPhone/iPod touch/iPadソフトウェアを開発する場合、これまでのIntel Macであるという条件に加えて、
動作OSがMac OS X 10.6(Snow Leopard)
という条件が追加となりました。ホームページの開発に必要なものについての記述は変更が必要ですね。
Tiny3D 3.1マスターアップ
1つ目はこれまでの円柱の拡張版です。これまでの円柱ではX軸およびZ軸方向の直径を指定出来ましたが、今回追加したものでは上下で別の直径を指定できます。上の円の直径はX軸方向で5、Z軸方向で3にして、下の円の直径はX軸方向で2、Z軸方向で4にするなどという指定もできます。
2つ目は3Dソフトではありがちなトーラスと呼ばれるリングドーナツ状の物体です。一般的にはドーナツの断面の円の中心までの距離と、断面の円の半径の2つの半径で指定することが多いのですが、Tiny3Dではこれまでのリングと同様、XZ平面側での指定は最外周と最内周部分のX軸方向およびZ軸方向での半径と、Y軸方向の半径の計5つの半径で指定するようになっています。そのため設定次第でいろいろな変形ドーナツも作れるようになっています。
3つ目はこれも3Dソフトでありがちな回転体を作れる基本図形です。基本的にはXY平面のXが正の部分に頂点を作って行き、それをY軸で360度回転させて出来る立体を表示します。これも基本から外れた設定をすると変わった図形が作れると思われます。
なお、これらの新エレメントでいろいろ実験したところ、数点バグが発見されたため、これらの修正も行っています。Core Data化による内部コードの問題点は今回のバージョンアップでほぼ修正できたものと思われます。
Tiny3D 3.0について
現在までに発見された不具合は以下の部分です。
1.新規オブジェクトの作成が出来ない
ダウンロードによるオブジェクト追加は可能で、パートやエレメント単位の新規オブジェクト作成は可能ですが、オブジェクトリストからの追加は出来ない状態になっていました。
2.ツールのコピー機能を使用すると止まる
キャッシュデータ更新フラグが入っているオブジェクトなどをコピーした場合に、データ更新の無限ループに入ってしまっていました。そのためコピーの途中でキャッシュデータの更新が始まるとそこから進行しなくなってしまいます。
現在修正版(ver.3.0.1)をアップロードして審査中となっています。
なお、これとは別に基本図形を追加したバージョン3.1も開発中です。
Tiny3D 3.0 マスターアップ
- データの保存形式をCore Dataに変更しました。
- データファイルが巨大化しても確実に保存が行われるため、手動保存機能を廃止しました。
- データ変更が無い場合の3D表示への切り替えがさらに高速になりました。
- 3D表示の書き換えがさらに高速化しました。
- メール送信に標準のメール機能の設定を使えるようになりました。そのためSSLを用いた送信等も出来るようになりました。
- ツールのコピーやマクロリンクでの操作対象選択方式を変更しました。例えばパートを選択する場合、まずは選択したいパートを含んでいるオブジェクトを選択し、 次に目的のパートを選択するという操作になります。
- ガイドの表示形式を変更しました。
欠点としてTiny3D形式でのダウンロードやアップロードに変換が必要になったことや、オブジェクト単位の削除に時間がかかるようになってしまったことがあります。手動でこまめにセーブしないと直前の操作が消えるかもしれない状態より、全体の使いやすさは向上しています。
iPhoneアプリケーション用のアイコンファイルをHTML5で作ってみた
ブラウザ上から画像を保存することでファイルが得られます。得られた画像は以下のようになります。
ソースはこのような感じになります。
<!doctype html>
<html>
<head>
<meta name="Author" content="Konton (http://kontonsoft.blog.shinobi.jp/)">
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTML5のCanvasでiPhoneアプリのアイコン作製</title>
<script type="text/javascript">
function draw() {
var canvas = document.getElementById('canvas_for_jpeg');
var context = canvas.getContext('2d');
drawCanvas(1, context);
var img_jpg_src = canvas.toDataURL("image/jpeg");
document.getElementById("icon_jpeg").src = img_jpg_src;
var canvas2 = document.getElementById('canvas_for_png');
var context2 = canvas2.getContext('2d');
drawCanvas(2, context2);
var img_png_src = canvas2.toDataURL();
document.getElementById("icon_png").src = img_png_src;
}
function drawCanvas(mode, ctx) {
// 以下でキャンバスに描画
if (mode == 2) {
ctx.scale(57 / 512, 57 / 512); // 小さいアイコンの描画では縮小を行います
}
// Firefox, Operaでjpegの透明色部分が黒くなることなどへの対策
ctx.fillStyle = "white";
ctx.fillRect(0, 0, 512, 512); // canvas全体を白で塗りつぶします
// 実際の描画開始
ctx.lineWidth = 20; // 枠線の太さ設定を20ピクセルにします
// 枠線の色設定を赤色にします
ctx.strokeStyle = "red";
// (64,64)を始点として幅、高さとも256ピクセルの矩形を描画
ctx.strokeRect(64, 64, 256, 256);
// 枠線の色設定を緑色にします
ctx.strokeStyle = "green";
// (128,128)を始点として幅、高さとも256ピクセルの矩形を描画
ctx.strokeRect(128, 128, 256, 256);
// 枠線の色設定を青色にします
ctx.strokeStyle = "blue";
// (196,196)を始点として幅、高さとも256ピクセルの矩形を描画
ctx.strokeRect(196, 196, 256, 256);
// ここまでで描画終了
}
</script>
<style type="text/css">
canvas { border: 1px solid black; }
</style>
</head>
<body onload="draw();">
<h1>HTML5のCanvasでiPhoneアプリのアイコン作製</h1>
<h2>大きいアイコン(枠無しがjpeg画像)</h2>
<img id="icon_jpeg" src="" alt="アイコン用画像(大)" width="512" height="512">
<canvas id="canvas_for_jpeg" width="512" height="512"></canvas>
<h2>小さいアイコン(枠無しがpng画像)</h2>
<img id="icon_png" src="" alt="アイコン用画像(小)" width="57" height="57">
<canvas id="canvas_for_png" width="57" height="57"></canvas>
</body>
</html>
ソース内の「// 実際の描画開始」の行から「// ここまでで描画終了」の行の間にあるキャンバスへの描画コードをテキストエディタで入れ替えるだけで、大小2個の画像が得られるのでそこそこ有用なのではないでしょうか。描画用のスプリクトは大きいほうの512×512のサイズがあるものとして作ります。小さいほうにはそれが自動的に縮小されて表示されます。Internet Explorer以外の代表的なブラウザの最新版(Safari4.0.4、Firefox3.6、Google Chrome4.0、Opera10.10)で正常に動作することを確認しています。
2010.02.05追記:
Internet ExplorerではExplorerCanvasに含まれるexcanvas.jsを組み込めばcanvasをInternet Explorer 8などで表示することができます。(現在の最新版はRelease 3。ライセンスはApache License 2.0なので、原文のまま使用するなら商用、非商用問わず利用可能です。)ただし、円形グラデーションなど一部の機能はサポートされていません。インターネット上のサイトにhtml形式で公開する場合はこのようなものを組み込んで対応すべきなのでしょうけれど、ローカルでは別のブラウザにドラッグ&ドロップするだけなので不要でしょう。ブラウザはInternet Explorer以外は死んでも使いたくないという人がiPhoneアプリケーションの開発をするとは思えませんからね。