2012-09-12 27 views
5

Tôi đang gặp sự cố với trò chơi trong Flash và tôi không biết liệu tôi có muốn làm điều đó hay không.Vẽ trò chơi Flash AS3

Tôi đang cố gắng tạo trò chơi cho trẻ em bằng Flash, sử dụng AS3, nơi trẻ phải vẽ một hình dạng tương tự với hình ảnh hiện tại trên sân khấu. Ví dụ, có một chữ cái "a" và đứa trẻ phải vẽ một cái gì đó tương tự như nó.

Câu hỏi của tôi là nếu có cách kiểm tra xem hình dạng được vẽ bởi đứa trẻ có giống với hình dạng trên sân khấu hay không và cách tôi có thể thực hiện việc này.

+1

Xem lý thuyết nhận dạng mẫu đầu tiên tại http://en.wikipedia.org/wiki/Pattern_recognition – Lunik

Trả lời

0

Có, điều đó là có thể.

Bạn có thể muốn theo dõi tọa độ x, y của chuột (nếu con chuột đang được sử dụng để vẽ), sau đó dịch các giá trị sang hình dạng khớp với.

Sau đó, có một số loại kiểm tra lỗi. Ví dụ, so sánh kích thước khu vực của hình dạng được vẽ bởi người chơi với hình dạng đã cho và những thứ khác.

Khác có thể là các góc giữa các đường được vẽ và mức trung bình của chúng. Làm thế nào nhiều dòng đã được rút ra, vv sẽ được tốt đẹp tôi nghĩ.

Bạn có thể đạt được điều này chỉ bằng cách kiểm tra màu pixel và xác định nơi có bản vẽ và vị trí không có (nghĩa là nền trắng).

Hy vọng điều này sẽ hữu ích.

2

Tôi sẽ chụp hai hình ảnh và chia tỷ lệ chúng thành độ phân giải thấp hơn nhiều ... như lưới 16 x 16 hoặc hơn. Đánh dấu từng điểm trong lưới như bật hoặc tắt (được vẽ hoặc không được vẽ).

Sau đó phủ lên nhau và xem có bao nhiêu điểm được đặt trong một và không được đặt trong điểm khác. Nếu điều đó vượt quá ngưỡng, hãy gắn cờ nó là không khớp.

Bạn có thể cải thiện thuật toán bằng cách chia tỷ lệ hình ảnh được vẽ. Tìm các pixel được vẽ ở trên cùng và dưới cùng nhiều nhất trong cả hai và chia tỷ lệ hình ảnh được vẽ để khớp với hình ảnh đầu tiên. Bạn có thể làm tương tự với chiều rộng. Bằng cách này, một người chơi sẽ không bị phạt vì vẽ một hình ảnh đẹp, nhưng nhỏ hơn.

Cải thiện khác sẽ là thực hiện nhiều so sánh, dịch chuyển hình ảnh được vẽ sang trái sang phải, lên và xuống, lấy kết quả 'tốt nhất'. Bằng cách đó bạn sẽ không bị phạt vì vẽ một thứ gì đó được bù đắp từ trung tâm.

Đó là tất cả một chút hacky, nhưng tôi nghĩ rằng nó có thể hữu ích hơn để đi tuyến đường này hơn là cố gắng kết hợp logic để phân tích cú pháp và các thuật toán dựa trên cử chỉ hoặc cử chỉ khác.