Đặt sprite theo hướng mặt của chuột


9

Tôi đang xây dựng một trò chơi canvas html5 và tôi cần một cách để sprite của mình đối mặt với con trỏ chuột. Tôi có tọa độ X và Y cho sprite, và cũng là tọa độ X và Y của con trỏ. Tất cả những gì tôi bị mắc kẹt là toán học liên quan để làm cho sprite đối mặt với con trỏ. Tất cả đều ở trong một thế giới 2D, vì vậy tôi không thể tưởng tượng nó sẽ quá phức tạp, nhưng tôi có rất ít kinh nghiệm với những thứ này.

Ngoài ra, bất kỳ liên kết hữu ích nào đến các bài viết / bài đăng trên blog về loại điều này sẽ rất tuyệt vời (lập trình trò chơi 2D nói chung, không cụ thể là Javascript).

Để thêm, tôi cần lưu ý rằng tôi cần một góc theo độ sẽ hướng tôi về phía con trỏ bằng vị trí X và Y của nó.

Làm thế nào tôi có thể biết tọa độ của con trỏ và nơi tôi đặt tất cả những thứ này?


Xin chào, tôi đã có một vấn đề tương tự như bạn, với bắn cung. Kiểm tra blog của tôi, nếu bạn muốn: yannbane.blogspot.com .
jcora

Câu trả lời:


11

Không biết API theo ý của bạn, đây là toán học cơ bản đằng sau việc có được một góc độ:

angle = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi;

Việc * 180 / math.pi;chuyển đổi nó từ radian sang độ.


3
Lưu ý rằng góc được tạo bởi atan2giả định rằng hệ tọa độ là + x phải và + y lên . Nếu bạn đi xuống, sau đó bạn sẽ cần phải phủ định góc. Nó cũng giả định rằng đối tượng sẽ hướng về hướng (1, 0) (phải) khi góc bằng 0. Nếu nó quay mặt về hướng khác, thì bạn cần phải bù góc. Câu trả lời của tôi ở đây giải thích làm thế nào để làm điều đó.
Nicol Bolas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.