2009-11-22 28 views
6

Tôi đang làm việc trên một trò chơi mà nhân vật của tôi cần để có thể có vũ khí khác nhau. Vì vậy, tôi nghĩ rằng bằng cách nào đó phủ vũ khí lên sprite di chuyển sẽ là lựa chọn đúng đắn, nhưng tôi không chắc chắn về việc làm thế nào tôi có thể làm được điều này.Overlay 2d vũ khí sprite trên nhân vật sprite?

Giả sử spritesheet nhân vật của tôi trông như thế này:

Player SpriteSheet http://i47.tinypic.com/2qxw9ds.jpg

Và spritesheet vũ khí preliminar của tôi (chưa quyết định chọn một kích thước vuông cố định cho các loại vũ khí nào), trông như thế này:

Weapon SpriteSheet http://i47.tinypic.com/vgltfs.jpg

Làm cách nào để bạn tạo lớp phủ để đặt vũ khí chính xác trên bàn tay nhân vật cho mỗi khung hình của mình? Tôi biết rằng có một cách để có một khung vũ khí có kích thước giống như nhân vật của tôi, và phủ lên chúng, nhưng tôi nghĩ rằng nếu trò chơi có quá nhiều vũ khí (nói 15 loại vũ khí một tay khác nhau) nhận được khá điên rồ (có một tấm sprite vũ khí cùng kích thước như tấm nhân vật sprite cho từng loại vũ khí)

Các bạn có lời khuyên nào về cách thực hiện điều này không? (hỗ trợ chồng các sprites vũ khí trên các hình nhân vật)

Cảm ơn!

Trả lời

9

Điểm neo. Xác định điểm neo cho đồ họa vũ khí trong mỗi khung đồ họa của người chơi của bạn. Sau đó xác định các điểm neo trong sprites vũ khí của bạn mà phù hợp với các điểm neo vũ khí trong sprite cầu thủ của bạn. Đảm bảo rằng các khung hình động được đồng bộ giữa các sprites của người chơi/vũ khí.

+2

Tôi sẽ muốn lưu ý rằng điều này về cơ bản giống như cách chúng ta làm trong 3D :) Đặt tên cho xương có thể được gắn vào và di chuyển qua hoạt ảnh. –

5

Khi tôi đã làm điều đó cho một trò chơi nền tảng chụp hình, chúng tôi đã có Anchor points (xem giải thích leeor_net), VÀ

kỹ thuật của tôi bao gồm làm cho sprites trong một cách mà tôi có thể xoay, hoặc sử dụng khung mà roatated xung quanh điểm neo duy nhất, trong trường hợp của vũ khí, và cánh tay nhân vật di chuyển trong một vòng cung với bán kính đã biết. Kết quả là chúng ta chỉ có thể yêu cầu vũ khí ở vị trí (bán kính cos (góc) *, sin (góc) * bán kính); với góc là một trong những góc có thể mà chúng ta có hình ảnh động (như, 0, về phía trước, 90 cho lên trên, và 45 cho đường chéo phía trước ... nếu chúng ta chỉ có 3 vị trí này). và "bán kính" là bán kính tính bằng pixel từ tâm vòng tròn cho đến khi nhánh nhân vật.

Kỹ thuật định vị toán học này, cũng cho phép bạn "bù đắp" vũ khí, bằng cách sử dụng các điểm neo hoặc tự tổng hợp một giá trị trên mã, v.v. Vì vậy, bạn có thể "sửa" lỗi (như, ai đó đã chỉnh sửa vũ khí và di chuyển nó bằng tai nạn 3 pixel xuống ... bạn chỉ có thể tổng cộng +3 trên y hoặc di chuyển neo của nó ...).

Trong trò chơi, ý định và kết quả (kỹ thuật làm việc hoàn hảo), là nhân vật chỉ súng vào con trỏ chuột, vì vậy tôi có thể chụp bất cứ nơi nào trên màn hình. Để tạo ra một hình ảnh động trơn tru, chúng tôi có một khung hình mỗi 10 độ (36 khung hình). Thay vào đó, nếu trò chơi là pixel pixel, hãy sử dụng các góc cung cấp ít đường răng cưa hơn (như 45, nhiều hơn hoặc ít hơn 22.5, 90, 0 ...), bạn có thể thường có tối đa 16 hướng khi bạn muốn các góc "ít lởm chởm" . (xem hướng dẫn nghệ thuật pixel để xem lý do cho điều đó, nhưng về cơ bản, làm cho đường có tỷ lệ rìu/y là số nguyên, cho phép khoảng cách pixel thông thường mà không có bí danh để đại diện cho nó ...)

Các vấn đề liên quan