2012年10月28日日曜日

unityいじってみた


※方向キーで床が傾きます。

Unityいじってみた。
Unityというのはゲームの統合開発環境で、Windows、Macの他、上に貼り付けたようなWeb用のものやAndroid、iOS等向けにもビルドできる模様。



上に貼りつけたものはこの本のデモで、この程度なら30分とかからずにできちゃいます。
書いたコードは床を傾けるためのJavaScriptのみで、下の通りのほんの数行。
WebSocketとかと組み合わせれば対戦型のものとか楽しそうなものが作れそうな気がします。
コレ使ってなにか作ってみたいと思います。

2012年8月15日水曜日

Chrome Extension作ってみた

どうやらHTMLとJavaScriptだけで簡単にできるようなので挑戦してみた。
PHPリファレンスをサクッと見に行けるようなのがあったらいいなと
かねてから思っていたので取り掛かってみる。
ファイルは以下のとおり

background.html
functions_hash.js
icon.ico
manifest.json
popup.html
popup.js

・manifest.json
Extensionそのものの構成を決めるファイル。
default_popupがアイコンをクリックした時にポップアップするバルーンの中身で
backgroundがその名の通りのバックグラウンドの処理を担う。 ・background.html
ここでは関数リストを作成する。
以下URLからデータを頂き、8700行くらいある連想配列データを作成する。(ソースは長いので省略) http://www.php.net/manual/ja/indexes.functions.php


・popup.html

・popup.js
これだけで完成。
php.netの公式リファレンスを見に行くだけの単純なものです。
それなりに便利なものができた気がするけどどうだろうか…。
完成品は以下から。
https://chrome.google.com/webstore/detail/kpedhgeiienpkoieomenplleokppkfdc/
とても簡単なのでなにか思いついたらぜひ何か作ってみるといいと思う。

2012年6月21日木曜日

【Android】設定用ActivityからonActivityResultメソッドに帰ってきた時にソフトキーボードを出す方法

自分用メモも兼ねて作成してみる。
表題のような場面やActivity起動時などに特定のEditTextにフォーカスをあてて
ソフトキーボードを出したいと思った時、
上記のようなコードだけではEditTextにフォーカスはあたるものの、ソフトキーボードが表示されない。
なぜかと思ったら画面の描画が終わった後にフォーカスをあてないとダメらしい。
いろいろ調べてコードをこねくり回した結果、以下のようなコードに落ち着いた。 要は画面が描画されてから処理を行えば良いということ。
android.os.Handler.postDelayed()を使用してソフトキーボードの表示処理を遅延させれば良い。

java.util.Timerでの遅延でいいじゃないかと思われるかもしれないけど
こっちのほうが効率が良いっぽい。(理由はよくわかりません。ゴメンナサイ。)
とりあえず10ミリ秒の遅延にしているけどハードウェアの性能によっては
もっと少なくて済んだり足りなかったりするかもしれない。
ちょっと美しくない解法かも知れないが目的は達成できるのでまあいいかな…?

2012年6月18日月曜日

canvasをいじってみる(その1)

友人が多数使っていたり会社の同僚さんに勧められたりしたので、拙筆ながら時代の流れに乗って技術関連のことを徒然なるままに書き連ねてみたいと思う。

現在もまだ使用策定中のHTML5の一部であるcanvas要素。
だいぶ前に書いたデモ的なプログラムを紹介。


横幅を大きく作りすぎていて見づらいです。スイマセン。
Flashじゃありません。
特にライブラリとかもつかっていません。
すでにHTMLとJavaScriptとブラウザだけでこれだけのことができるようになっててビックリ。

以下コード解説。

-----

グローバル変数。
フレームレート、重力の強さ、ハコの大きさなどの定義。
ボール用クラス。
自分自身の位置(XY座標)、大きさ(半径)、速度、加速度のパラメータを持っていて、これらに従ってmoveメソッドで自分自身の位置を変化させる。
  1. 加速度は速度、速度はボールの位置にそれぞれ作用
  2. 床に接触した場合Y方向の速度が、垂直な壁に接触した場合はX方向の速度がそれぞれ反転(スピード * -1)する。
  3. drawメソッドを呼ぶと描画。

ハコの描画と画面クリア用function
onloadイベントで呼び出されるメイン処理。
重力のセットやボールの生成などの初期化処理が走ったあと、画面描画用のループが回る。

高校レベルの物理と数学の知識があれば簡単に作れると思います。
まだまだ性能がFlashに及ばないし仕様すら策定中の技術ですが、Audio APIとかWebStorageなどと組み合わせれば面白いものができそうな気がする。
そのアイデア出しが難しいんだけども…。