Làm cách nào để liên kết một hình nhân pyglet với thân hình pymunk sao cho cơ thể đang quay sprite cũng quay?Làm cách nào để liên kết một Pyglet sprite với hình dạng Pymunk để chúng xoay với nhau?
Trả lời
Không có đồng bộ hóa được tích hợp sẵn, do đó bạn phải thực hiện trên mỗi khung hình của riêng mình. Nhưng đừng lo lắng, nó rất dễ dàng.
Nếu bạn đặt cơ thể ở giữa hình dạng/hình dạng và hình ảnh có cùng kích thước thì có hai thứ bạn cần. Đầu tiên, đặt hình ảnh neo thành một nửa kích thước của nó. Sau đó, trong phương pháp cập nhật của bạn, bạn lặp lại các đối tượng bạn muốn đồng bộ hóa và đặt vị trí sprite thành vị trí cơ thể và xoay vòng xoay để xoay cơ thể được chuyển đổi thành độ. Bạn cũng có thể cần phải xoay nó 180 độ (trong trường hợp mô hình của bạn bị lật) và/hoặc đảo ngược vòng quay.
Trong mã
img = pyglet.image.load('img.png')
img.anchor_x = img.width/2
img.anchor_y = img.height/2
sprite = pyglet.sprite.Sprite(img)
sprite.body = body
def update(dt):
sprite.rotation = math.degrees(-sprite.body.angle)
sprite.set_position(sprite.body.position.x, sprite.body.position.y)
Đối với một ví dụ đầy đủ hãy nhìn vào ví dụ này tôi tạo: https://github.com/viblo/pymunk/blob/master/examples/using_sprites_pyglet.py
(Im tác giả của pymunk)
- 1. làm cách nào để liên kết một mô hình hai lần với một mô hình khác
- 2. Paypal NVP với IPN để xác nhận - những gì liên kết chúng với nhau
- 3. AABB của sprite xoay?
- 4. Làm cách nào để xoay một div với Raphael.js?
- 5. Làm thế nào để cắt một hình ảnh với một hình chữ nhật xoay?
- 6. Làm cách nào để liên kết QModelIndex với hàng mới?
- 7. Làm cách nào để liên kết nhiều tiện ích với một "liên kết" trong Tkinter?
- 8. Làm thế nào để bạn chọn một hình ảnh sprite từ một bảng sprite bằng Python?
- 9. Làm cách nào để liên kết sự kiện với sessionStorage?
- 10. Làm cách nào để liên kết ENUM với radio?
- 11. Làm thế nào để liên kết với boost.system với cmake
- 12. Làm cách nào để liên kết một DataFrid của WPF với một số cột thay đổi?
- 13. Làm thế nào để kết hợp một số cấu hình chạy trong Intellij với nhau?
- 14. Làm thế nào để tạo phần tử liên kết với hình ảnh dưới dạng neo với jquery?
- 15. Làm cách nào để xoay hình ảnh?
- 16. Làm cách nào để liên kết nhiều giải pháp studio trực quan với nhau?
- 17. Làm cách nào để liên kết máy chủ MemCached với nhau?
- 18. Làm thế nào để bạn liên kết XML với XSD?
- 19. Làm cách nào để tạo một div có hình dạng không đều với css3 và html5?
- 20. JSON, REST, SOAP, WSDL và SOA: Tất cả chúng liên kết với nhau như thế nào
- 21. Trình quản lý thống kê Ember, bộ điều khiển, chế độ xem, mô hình: cách liên kết chúng với nhau?
- 22. Làm cách nào để tìm URL liên kết bằng văn bản liên kết với XPath?
- 23. Làm cách nào để JMX liên kết với một giao diện cụ thể?
- 24. Làm cách nào để liên kết hộp tổ hợp với thư mục hình ảnh?
- 25. Làm cách nào để liên kết dịch vụ web với một cổng thủy tinh cụ thể?
- 26. Làm cách nào để chuỗi hai UIGestureRecognizers lại với nhau?
- 27. Làm cách nào để liên kết dữ liệu với hộp văn bản có định dạng với mẫu MVVM?
- 28. Liên kết hai hình ảnh lại với nhau để được kéo
- 29. Làm cách nào để xoay một số mặt trăng quanh hành tinh với THREE.js?
- 30. Làm thế nào để liên kết tĩnh với TBB?
nên các '+ 180' thực sự có mặt ở đó ? Tôi có kết quả tốt hơn nếu không có nó. – Flimm
Chỉ khi mô hình của bạn bị lộn ngược. Trong ví dụ, sprite bị lộn ngược liên quan đến tam giác, vì vậy nó cần quay. Nhưng thông thường bạn không cần nó. Bây giờ tôi nhận ra rằng nó sẽ rõ ràng hơn nếu không có nó. – viblo