2012-09-12 11 views
5

Mam do czynienia z problemem z grą we Flashu i nie wiem, czy chcę, aby było to możliwe, czy nie.Gra rysunkowa Flash AS3

Próbuję stworzyć grę dla dzieci Flash, używając AS3, gdzie dziecko musi narysować kształt podobny do tego, który jest obecnie na scenie. Na przykład jest litera "a" i dziecko musi narysować coś podobnego do niej.

Moje pytanie brzmi: czy istnieje sposób sprawdzenia, czy kształt narysowany przez dziecko jest podobny do kształtu na scenie i jak mogę to zrobić.

+1

Zobacz pierwszą teorię rozpoznawania wzorców pod adresem http://en.wikipedia.org/wiki/Pattern_recognition – Lunik

Odpowiedz

0

Tak, jest to możliwe.

Prawdopodobnie chcesz śledzić współrzędne X, Y myszy (jeśli mysz jest używana do rysowania), a następnie przetłumaczyć wartości do kształtu, do którego jest dopasowywany.

Następnie sprawdź rodzaj błędu. Na przykład porównaj rozmiar obszaru kształtu narysowanego przez gracza z podanym kształtem i innymi rzeczami.

Kolejne mogą być kąty między narysowanymi liniami i ich średnią. Ile linii zostało narysowanych, itp. Byłoby miło, myślę.

Można to osiągnąć, zaznaczając kolory w pikselach i określając, gdzie był rysunek, a gdzie nie ma (tj. Białe tło).

Mam nadzieję, że to pomoże.

2

Zrobiłbym dwa zdjęcia i skalowałem je do znacznie niższej rozdzielczości ... jak siatka 16 x 16, lub tak. Oznacz każdy punkt w siatce jako włączony lub wyłączony (narysowany lub niewinny).

Następnie nakładaj na siebie i zobacz, ile punktów jest ustawionych w jednym, a nie w innym. Jeśli jest to wartość powyżej progu, oznacz flagę jako niezgodną.

Można poprawić algorytm, skalując narysowany obraz. Znajdź najbardziej wysunięte i najniżej położone piksele w obu, i skaluj narysowany obraz tak, aby pasował do pierwszego obrazu. Możesz zrobić to samo z szerokością. W ten sposób gracz nie będzie ukarany za dobranie dobrej, ale mniejszej wersji obrazu.

Kolejnym ulepszeniem będzie wielokrotne porównywanie, przesuwanie narysowanego obrazu od lewej do prawej, w górę iw dół, przyjmowanie "najlepszego" dopasowania. W ten sposób nie zostaniesz ukarany za wyciągnięcie czegoś od środka.

To wszystko jest trochę hacky, ale myślę, że prawdopodobnie lepiej jest pójść tą drogą, niż próbować włączyć logikę do analizowania uderzeń i innych algorytmów OCR lub gestów.