5

Flash のゲームで問題に直面していますが、実現したいことが可能かどうかわかりません。

AS3 を使用して Flash で子供向けのゲームを作成しようとしています。子供は現在ステージにあるものと同様の形を描く必要があります。たとえば、「a」という文字があり、子供はそれに似たものを描かなければなりません。

私の質問は、子供が描いた形がステージ上の形に似ているかどうかを確認する方法と、どうすればこれを達成できるかということです.

4

2 に答える 2

2

2つの画像を取得して、16x16程度のグリッドのようにはるかに低い解像度に縮小します。グリッド内の各ポイントをオンまたはオフ(描画されているか描画されていないか)としてマークします。

次に、互いにオーバーレイして、あるポイントに設定されているポイントと別のポイントに設定されていないポイントの数を確認します。それがしきい値を超えている場合は、一致しないものとしてフラグを立てます。

描画された画像をスケーリングすることで、アルゴリズムを改善できます。両方で一番上と一番下の描画ピクセルを見つけ、最初の画像と一致するように描画画像を拡大縮小します。幅でも同じことができます。このようにして、プレーヤーは、良いが小さいバージョンの絵を描いたとしても罰せられることはありません。

もう1つの改善点は、多重比較を行い、描画された画像を左から右、上下にシフトして、「最適な」一致を取得することです。そうすれば、中心からオフセットされたものを描画してもペナルティを受けることはありません。

すべて少しハッキーですが、ストロークやその他のOCRまたはジェスチャベースのアルゴリズムを解析するロジックを組み込むよりも、このルートを使用する方がおそらく役立つと思います。

于 2012-09-12T16:52:27.307 に答える
0

はい、可能です。

おそらく、マウスの x、y 座標を追跡し (マウスを使用して描画している場合)、その値を一致する形状に変換します。

次に、ある種のエラーチェックを行います。たとえば、プレイヤーが描いた図形の面積と与えられた図形などを比較します。

もう1つは、描かれた線とそれらの平均との間の角度です。何本の線が引かれているかなどはいいと思います。

これは、ピクセルの色を確認し、描画があった場所とない場所 (つまり、白い背景) を定義するだけで実現できます。

お役に立てれば。

于 2012-09-12T16:15:41.897 に答える