いなあものPalmware開発日記 このページをアンテナに追加 RSSフィード

2005-10-11

左右が逆だ

[]リアルタイムゲームの味方 リアルタイムゲームの味方 - いなあものPalmware開発日記 を含むブックマーク

NS Basic Ver5.0.2より、待望のにタイマーイベント機能が実装されました。

今までは、フォームのAfter Codeという画面表示後に実行されるコード内ででループを組んで、無理やりリアルタイムゲームを作っていたのですが、その必要が無くなったのです。

従来の方法ですと、デバイスごとに違う処理速度をプログラム内部で管理する必要があったり、複雑な処理分岐を行うと描画タイミングがずれてカクカクした動作になったりと、色々とプログラム側で考えなくてはいけない事が多かったのですが、タイマーイベントを使うことによって、一定間隔で画面描画処理を走らせる事をシステム側に任せることが出来るようになりました。

これは大きな収穫です。

実際、タイマーイベントを使うことで僕のLightCycleなどは処理をかなり軽く出来るでしょう。実際、どのように改造したらいいのかなどはこれから検討ですが、今のLightCycleで発生している問題のいくつかはこれで改善できると思います。

さて、そんな訳でタイマーイベントを色々と調査している訳ですが、簡単なスクロールゲームのようなものなら手間をかけずに作れることが分かりました。

ここにある画面のイメージは、実際に僕のPalmで動作しているものですが、PalmOSのあらゆるバージョンで、スクロール動作までは十分なパフォーマンスを得ながら動作することを確認しています。

ただPalmOS3.5では、キー操作イベントが入るとタイマーイベントがクリアされてしまうらしく、スクロールが停止するという不具合も見つかっています。

スクロール速度に関してはPalmOS4.1搭載のClie PEG-SJ33よりもスムーズなので、ちょっと残念なのですが、タイマーイベントを駆使したアプリは、PalmOS4.x以降対応となってしまいそうです。

しかしこのサンプル画面ですが…、通常の横スクロールゲームと比べて進行方向が逆ですね。何故なんでしょう(笑)

今のうちは「謎」と言うことにしておきたいと思います。