【ソフト名】Moving Ball 【バージョン】1.10 【著作権者】KOHKI 【 種 別 】フリーソフト 【制 作 日】2008/10/19 【動作環境】WindowsXP/VISTA 【開発環境】Hot Soup Processor 3.1 ――――――――――――――――――――――――――――――――――――― 目次 ≪著作権および免責事項≫ ≪はじめに≫ ≪概要≫ ≪インストール方法≫ ≪アンインストール方法≫ ≪操作方法≫ ≪詳細≫ ≪終わりに≫ ≪更新記録≫ ――――――――――――――――――――――――――――――――――――― ≪著作権および免責事項≫ 本ソフトはフリーソフトです。自由にご使用ください。 なお、著作権は作者である"KOHKI"が保有しています。 このソフトウェアを使用したことによって生じたすべての障害・損害・不具合等に関しては、 私と私の関係者および私の所属するいかなる団体・組織とも、一切の責任を負いません。 各自の責任においてご使用ください。 ≪はじめに≫ Moving Ballをダウンロードしていただき、誠にありがとうございます。 バグの報告、改善点などの指摘など、いただければ幸いです。 ただし現在多忙になりつつあるため、意見が反映されるのはかなり後になることが考えられます。 また、必ずしも反映されません。ご了承ください。 ≪概要≫ ボールが飛んだり跳ねたりする、よくありがちなやつです。 ランダムな色の複数のボールが、ランダムな方向に、ランダムな速さで飛んでいきます。 床、天井、壁で跳ね返ります。 重力、摩擦力などを追加できます。 マウスでボールにさわることができます。 ソフトの目的はないです。しいて言えば鑑賞です。 ≪インストール方法≫ zipファイルを解凍するだけで結構です。 ≪アンインストール方法≫ 解凍されたフォルダごと削除する。 ≪操作方法≫ [開始]を押すと動き出します。 変数をいろいろ用意したのでいじってみてください。 ウィンドウの四隅を引っ張ることで、ボールが動く領域のサイズを自由に操作できます。 ※以下の≪詳細≫は、読まなくても特に支障はないはずです。 操作などに疑問が生じたら、読んでいただけたらと思います。 ≪詳細≫ <変数の変え方> インプットボックスの数値を変えたら、そのすぐ左に更新のためのボタンがでます。 ボタンを押すと数値が実際に変更されます。 <マウス> マウスを描画領域に進入させると、背景色の補色のボール(球)が出現します。 ボール(球)に衝突可能。 ただし、衝突の動作がちょっと変。 <ウィンドウサイズ> ウィンドウの四隅を引っ張ってウィンドウサイズを自由に変更することができる。 ウィンドウサイズとともに、ボール(球)が動く領域のサイズも変更されます。 <ボタンや変数の説明> 以下の通りです。 [開始/停止] 動き始める。もう一回押すと一時停止できる。 [座標] すべてのボール(球)を指定した、同一の座標に集合させる。 [球の個数] 0〜999個の範囲で指定できる。 ※ ただし、多いと画面更新が遅くなる。 [球の直径] 1〜999ピクセルの範囲で指定できる。 ※ ただし、小さいと、ほとんど目で見えない。 [最大初速] 最初の速さの最大を、0〜100の範囲で指定できる。 ※ なお、実はこれは縦軸、横軸それぞれの最大初速…。 [重力] -50〜50の範囲で指定できるけど、-2〜2くらいがオススメ。 マイナスの値を指定すると、ボール(球)が浮かんできます。 ※ 初期値は0。インプットボックスには最初に1が入ってる。 なお、この変数は正確には「重力加速度」です。 [反発係数] 床・天井・壁に衝突したときに、速さがどれくらい維持するのかを、割合で示したもの。 0〜1の範囲で指定できる。 0を指定すると、壁や床にくっつく。 1を指定すると、速さが完全に保たれる。 ※ 初期値は1。インプットボックスには最初に0.9が入ってる。 [動摩擦係数] 床・天井・壁の摩擦力の強さ。0〜1で指定できる。 ※ 式が結構てきとうなんで、厳密な意味での[動摩擦係数]ではないかも。 [背景色] 描画領域の背景色を指定できる。 赤・緑・青の強さを、それぞれ0〜255で指定する。 [ランダマイズ] 変数をある一定の範囲内でランダム化する。 現在のところ、各変数の値のランダム化の範囲は以下の通り。 ・座標:端から端まで ・球の個数:1〜500(個) ・球の直径:1〜(球の描画領域の縦の長さ)÷5(px) ・最大初速:0〜50(px/frame) ・重力:-5〜5(px/frame2) ・反発係数:0〜1 ・動摩擦係数:0〜1 ・背景色:各々0〜255 [アンチエイリアス] 描画を滑らかにするかどうか選択できる。 初期状態はON(滑らか)。 OFFにすると、処理速度が改善され、画面更新が速くなることが多い。 そこで、処理落ちが気になる場合には、OFFにすることを推奨する。 [球/円] ボール(球)の内部を塗りつぶすかどうか選択できる。 [初期化] 変数の値とかが、最初の状態に戻る。 [終了] アプリケーションを終了する。 ウィンドウ右上の[×]を押したり、ALT+F4を押したりしても終了できる。 ≪終わりに≫ HSPで遊んでたら、できた作品です。制作には2日間かかりました。 以下のような新機能もそのうち追加したいところ…。 ・ボール同士の衝突。 ・ボールの立体的表示。 ・奥行きを使った3D化。 ・数値を入力するのではなく、つまみを左右に調整するという変数調整システム。 ・右の部分を非表示にできるようにする。 ・変数状態を保存できるようにして、スクリーンセーバーにもなるようにする。 ・マウスをボールにするのをやめて、ボールをドラッグ&ドロップできるようにする。 ・重力のかかる方向を上下だけでなく、360°にする。 ・空気抵抗を追加する。 ・ボールの色や背景色の時系列的変化。 ・音楽・効果音を加える。 ・数値の単位を実世界のものする。不可能かも(?) (例:速度の単位px/frameをm/sにする) ・ゲーム的要素を入れてみる。 ・ボールの色をある程度指定できるようにする。 (例:「赤の強さを0〜100の範囲内にする」といった操作ができる) 以下のような問題点があるので、訂正したいところ…。 ・使い方、用語がわかりにくい。本文書も含めて説明が不親切。 なので、物理学の知識がなくても、またREADMEを読まなくても、問題なく使えるようにする。 (わかりにくいままでごめんなさい m(u_u)m ) ・数式がテキトーな部分があるので訂正する。 ・マウスのボールと他のボールとの衝突がどう考えてもおかしいので、直す。 ・いちいち更新ボタンを押すのが面倒なのでなんとかする。 ・自由度が高すぎるため、いちいち変数を考えるのが面倒な人は多いはず。 そこで、変数のテンプレートを複数用意する。 つまり、おもしろい動き・綺麗な動きを形成する変数のパターンをいくつか用意しておき、 瞬時にその変数パターンに変更することができるようなシステムを作る。 ≪更新記録≫ 2008/10/14 ver1.00 完成 2008/10/19 ver1.10 ランダマイズボタンを設置。 直径を1pxに、アンチエイリアスをONにしたときにボールが点で表示されずに何も映らない問題、および、2pxのときの不具合を解決。 他、いろいろ細かいところを改善。 2008年10月19日 KOHKI