[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 659] Re: OSASKアプリケーションのマナー.



やっほぉ、<川合の旦那>
[2000年5月22日(月)]にもろた
【[OSASK 656] OSASKアプリケーションのマナー.】への返答っ! 。

川合>  年内には、OSASKアプリケーションが誰にでもかける環境がそれなり
川合>に整うわけですが、それまでには、以下のことを良く知っておいてもら
川合>いたいのです。

年内!そりゃ大変(^.^)/

川合>  OSASKでは、キー入力をはじめとして、ほとんどの「イベント」がタ
川合>スク間通信によって伝達されます。このタスク間通信の使い方に対応で
川合>きないと、まともなゲームは作れません(キーもマウスも使わずにゲー
川合>ムができると思いますか?)。しかし、タスク間通信をマスターしなく
川合>ても、ゲームが作れないというわけではありません。それについては、
川合>このメールの最後のほうで明らかになります。

叫んで入力とか・・・

川合>  これらのアクションのうちどれにするかは、プログラマーによって決
川合>定されます。また、メッセージの内容によって、アクションを選択させ
川合>ることも可能です。

ん、これはなんとなく分かった。どっちにしても、どうするのかを
ちゃんと規定しておくことが重要、と。

川合>ん。しかし、この3のように、任意の時点で特定の関数が呼び出される
川合>という「割り込み処理」のプログラムは、普通のプログラムに馴れてい
川合>る人には難しく感じるかもしれません。ですから、無理してまで、この
川合>モードを利用しなくてもいいです。

んー、なんかその方が自然に思えるのだけど、私は普通ではないのだろうか?
もっともまともに組んだことがないのでそのせいかもしれないけど。

川合>  3Dばりばりのゲームじゃない限り、たいていのゲームは2だけでや
川合>っていけます。これはどういう事かというと、暇になったら、タスク間
川合>通信バッファをチェックする、というただそれだけのことです。何かメ
川合>ッセージがあれば処理するし、なければローカルレベルを最低に下げ、
川合>冬眠します。このタスクは動いているときは常に全力ですが、イベント
川合>待ちのときはかならずスリープしているので、負荷も十分に小さく、決
川合>して無作法ものではありません。イベントには、キー入力だけでなくタ
川合>イマーも使えますから、キー入力していなくてもタイマーによってちょ
川合>くちょく目覚めて、ゲームを進行させられます。

なんとなく分かりました。要するに出来るだけサボろうとするわけですな。
目覚まし時計もあるし、たたき起こされたら全力疾走、と。

川合>  タスク間通信によって運ばれてくるメッセージにはいろんなものがあ
川合>ります。しかし、基本的に不要なものは送られてきません。たとえば、
川合>テンキーしか使わないゲームなら、アルファベットキーの入力は統合入
川合>力ドライバーの段階でカットされ、送られてこないのです。タイマーも
川合>、使わなければメッセージは来ません。

あれれ、統合入力の段階でカットされるの?
まさか統合入力のINでではないだろうから、OUTの段階で取捨選択を行う?

川合>  タスクの終了要求への応答やウィンドウ管理など、ほぼ決まりきった
川合>処理について、自前で処理するのが面倒なら、DLLに任せてしまうこと
川合>ができます。キー入力管理やマウス管理もDLL任せにできます。これら
川合>のDLLを使えば、タスク間通信バッファにまつわるややこしいことを気
川合>にしないで、いたって普通のプログラミングができます。これらのDLL

こうなると結構楽になりそうなところがあるね。
このDLLってのも、気をつけないと某OSのAPIのような複雑怪奇な
状況になってしまいそうだね。

川合>にローカルレベルの管理も任せることができます。そうすれば、古いBA
川合>SICのような、キー入力を待ったり、10秒間waitするなどといった書き
川合>方でプログラムを作ることができますし、VBなどのようにイベントに応
川合>じる関数をべったりと並べるプログラミングもできます。どちらの書き
川合>方でも、CPU負荷はきちんと抑えられて、好ましい結果になります。

イベント型ってとっつきやすいからねぇ。

でわでわ

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/  氏名:もしかしたら橋 直行                                      _/
_/  E-mail:n-hashi !Atmark! interlink.or.jp,PXW06256 !Atmark! nifty.ne.jp             _/
_/_/_/_/_/_/_/_/_/_/_/_/_/-----平成12年05月22日(月曜日) PM10時54分_/_/