>>446はたぶんゲーム作りの基礎からして分かってないのじゃろう。
インベーダーゲームではいかにもインベーダーとUFOとプレーヤー機が同時
に動いているように見えるだろう?そうじゃない。まずインベーダーを
4ドットだけ動かす。動かすってのは前のインベーダーを消して新たな位置に
描き直すってことだ。次にプレーヤー機をジョイスティックの入力された方向
に2ドット動かす。次にUFOを1ドット動かす。まあたとえばの話だ。数字は適当。
この3つの処理は並列に行われはしない。あくまで順々に行われる。しかしこの
1回の移動は何ミリ秒という短い時間しかかからない(HSPの場合一般的には
16ms)ので、人間の目には同時に動いているようにしか見えない。そしてこの
移動が延々繰返されることによってゲームは動くのだ。(Basicの時代なら
これで十分なんだが、HSPの場合redrawによってこれらの移動は同時に更新
される。まあインベーダーの時代も垂直帰線割り込みで同時更新だったのだ
ろうが。redrawの概念が入門者には分かりにくい気がする。)
ウェイトかける場合はプログラム全体が止まる。うん、その通りだよ。HSP
の場合一般的にはawait 16とする。先の3つの処理が10msで終わったとすれば
あとの6msは何もしないんだ。その6msはWindowsが仕事するのに使う。Windows
が仕事する時間がないとウィンドウが動かせなくなったり最悪の場合フリーズ
する。このawaitの概念もまた入門者に敷居を高くしている。
ゲームの基礎はとてもこの1レスでは語りつくせないので入門書読むなり講座
検索して見つけるなりしてくれ。
いろんな意味で昔より今の方が入門者に敷居が高いかもしれんな。昔は雑誌
に載ってるリストを一生懸命打ち込んでゲームするのが普通だった。だから
他人の書いたソースを否応なしにたくさん読んだ。今はダウンロードして
おしまい。自分でプログラム書かない奴まで批評家気取り。「貴重な時間を
無駄にさせやがって」とか言って即効ごみ箱行き。これじゃ有り難味なんか
感じない。