Tôi xin lỗi vì tiêu đề hơi chung chung. Tôi thực sự không có nhiều manh mối về cách thực hiện những gì tôi đang cố gắng làm, điều này làm cho việc nghiên cứu một giải pháp khả thi trở nên khó khăn hơn.
Tôi đang cố gắng thực hiện một điểm đánh dấu đường dẫn (có thể có một tên phù hợp nhất cho nó, nhưng đây là cách tốt nhất tôi có thể nghĩ ra).
Ở phía trước của người chơi sẽ có một điểm đánh dấu đường dẫn, nó sẽ xác định cách người chơi sẽ di chuyển sau khi hoàn thành kế hoạch cho lượt của mình. Người chơi có thể nhấp và kéo điểm đánh dấu đến vị trí họ chọn, nhưng chỉ có thể di chuyển điểm đánh dấu trong một khu vực làm việc xác định (bit màu xám).
Vì vậy, bây giờ tôi bị mắc kẹt với hai vấn đề:
Trước hết, làm thế nào chính xác tôi nên xác định khu vực khả thi đó? Tôi có thể tưởng tượng có thể hai vectơ có người chơi làm điểm bắt đầu để tạo thành góc khả thi và có thể hai cung đó có thể đến từ các vòng tròn có trung tâm của người chơi, nhưng tôi chắc chắn không biết làm thế nào để đặt tất cả cùng với nhau.
Và thứ hai, sau khi tôi đã xác định khu vực có thể đặt điểm đánh dấu, làm cách nào tôi có thể thực thi rằng điểm đánh dấu chỉ nên ở trong khu vực đó? Ví dụ: nếu người chơi nhấp và kéo điểm đánh dấu xung quanh, nó có thể di chuyển tự do trong khu vực làm việc, nhưng không được rời khỏi ranh giới của khu vực. Vì vậy, ví dụ, nếu người chơi bắt đầu kéo điểm đánh dấu lên trên, nó sẽ di chuyển lên trên cho đến khi chạm vào điểm cuối của vùng làm việc (sơ đồ đầu tiên bên dưới), nhưng nếu sau đó, người chơi bắt đầu kéo sang một bên, điểm đánh dấu phải theo kéo trong khu vực (sơ đồ thứ hai bên dưới).
Tôi hy vọng điều này không quá khó hiểu. Cảm ơn các bạn.
Chỉnh sửa: Trong trường hợp điều này tạo ra sự khác biệt, tôi đang sử dụng C ++ với Marmalade SDK.