2012-09-12 101 views
5

我在Flash中遇到了一個遊戲問題,我不知道是否想讓它成爲可能。繪圖遊戲Flash AS3

我正在嘗試在Flash中使用AS3製作遊戲,孩子們必須在其中製作一個類似於當前舞臺上的形狀。例如,有一封「a」字母,孩子必須畫一些類似的字母。

我的問題是,如果有一種方法來檢查孩子繪製的形狀是否與舞臺上的形狀相似,我該如何做到這一點。

+1

見第一模式識別理論在http://en.wikipedia.org/wiki/Pattern_recognition – Lunik

回答

0

是的,這是可能的。

您可能想要跟蹤鼠標的x,y座標(如果使用鼠標繪製),然後將值轉換爲與其匹配的形狀。

然後進行某種錯誤檢查。例如,比較玩家繪製的形狀的面積大小與給定的形狀和其他東西。

另一個可能是繪製的線和它們的平均值之間的角度。畫了多少條線,等等,我覺得很好。

您可以通過檢查像素顏色並定義有圖紙的地方以及不存在的地方(即白色背景)來實現此目的。

希望這會有所幫助。

2

我會把這兩幅圖像縮小到更低的分辨率......就像一個16×16的網格,左右。將網格中的每個點標記爲打開或關閉(繪製或未繪製)。

然後重疊在一起,看看有多少點被設置在一個而不是另一個。如果超過閾值,則將其標記爲不匹配。

你可以通過縮放繪製的圖像改進算法。找到兩者中最頂端和最底部繪製的像素,並縮放繪製的圖像以匹配第一個圖像。你可以用寬度來做同樣的事情。這樣玩家就不會受到懲罰畫好,但規模較小,版本的圖片。

另一項改進是做多比較,移位繪製圖像從左向右,向上和向下,以「最好的」匹配。這樣你就不會因爲從中心偏移畫一些東西而受到懲罰。

這一切都有點哈克,但我認爲它可能是更有幫助走這條路,而不是試圖納入解析中風和其他OCR-或基於手勢的算法邏輯。