ひとこと(ブログ)です。子供に印刷を頼まれました。エポック社のアクアビーズのお手本です。以前、ドット絵と言えば、ゲーム作りの基本でしたけど、最近では3Dでゲームを作るのが当たり前になって来て、ドット絵は廃れていくものと思っていました。現在では、アクアビーズ作りということで、ドット絵ブームが再来しているってことでしょうかね。やって若手(2〜4歳)の才能が育っていくのを見るのはうれしいですね。使うことでしょうかね。得られた値に、あからさまにおかしな値が入っていたら、バカ正直に信用しないことも挙げられます。・負の座標だからといって、あり得ない座標とは限らない。デュアルモニタを採用し、右側に配置したモニタをプライマリに設定すれば、左側のモニタは負の座標となる。・今まで正しかった座標だからと言って、明日も正しい座標とは限らない。デュアルモニタからシングルモニタに戻せば座標範囲は縮小するし、画面解像度は何時変化するかわからない。・中抜けの座標がないとも限らない。本格的に行うなら、画面環境を構成する全てのモニタを列挙し、その範囲内に収まっているかを検証するなどの方法もあります。意図的にウィンドウの半分だけを外に出しておきたいユーザーもいるかもしれないことも考慮して、画面の一部でも範囲内に収まっていれば良いのかもしれません。いえばデュアルモニタ構成の場合の「最大化」って、どういう状態を指すのでしょうか。それとも、プライマリモニタ内を占拠することが最大化?同じく、画面中央表示はどのような状態を指すのでしょうか。全ての画面の平均値が中央?プライマリモニタ内の中心が、画面中央?そういえば、CHMヘルプを表示するWindows標準のプログラムが、「最大化状態」のままプログラムを終了すると、次回起動時に「全てのモニタに跨がった最大状態」で起動するとかいう不具合(?)を抱えていたのを思い出しました。マイクロソフト純正のプログラムですらこの有様なので、一般のプログラムが誤った理解をしてしまうのも無理は無いかもしれません。結論として、あまり凝った、ウィンドウ位置の保存処理は行わない方が良いんじゃないかなぁと思ったりしています。最小化時のGetWindowRectの罠1さて、本日は、先日公開した「東方レスキュー」に関する記事の補足でも。続く不具合が出ちゃっているみたいなので、一体何が起きているのか推測していました。Windowsアプリケーションでは、利用者の利便性向上のため、プログラム終了時点のウィンドウ位置を保存し、次回起動時にそこへ復元する機能が暗黙に組み込まれることが多くあります。用いてそれを設定している場合が多いでしょう。この方法には落とし穴があります。座標に飛ばされてしまうんですね。覗いてみると、あからさまにその状態になっている様子が窺えます。下が異常発生後)ただ、普通に考えて、「ゲームをウィンドウモードで起動し、最小化した上で、タスクバー上のボタンを用いて終了」なんてシチュエーションが起きることは考えにくいのですが、東方Projectの作品でネットで検索すると、この手の悩みがけっこう多いんですね。これは予想になりますが、おそらくこのゲームを、作業BGMとして、音楽プレイヤー代わりに使っている人が多いのだと思います。音楽に定評のある作品群ですから。いちおうこの件は、だいぶ前にZUNさんにお伝えしたのですが、酒の席だったためか忘れられてしまっているみたいなんですよね。