Jak powiązać sprite pyglet z ciałem "pymunk", tak, że jeśli ciało obraca się, to duszek również się obraca?Jak powiązać duszka Pyglet z kształtem Pymunk, aby obracały się razem?
7
A
Odpowiedz
4
Nie ma wbudowanej synchronizacji, więc musisz to zrobić na własnej ramie. Ale nie martw się, to bardzo łatwe.
Jeśli twoje ciało jest ustawione pośrodku kształtu/kształtu, a obraz jest tego samego rozmiaru, potrzebujesz dwóch rzeczy. Najpierw ustaw kotwicę obrazu na połowę rozmiaru. Następnie w swojej metodzie aktualizacji zapętlasz ciała, które chcesz zsynchronizować, i ustawiasz pozycję sprite na pozycję ciała, a sprite rotuje na obrót korpusu, przekształcając je w stopnie. Może być również konieczne obrócenie o 180 stopni (w przypadku odwrócenia modelu) i/lub odwrócenie obrotu.
W kodzie
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)
dla pełnego przykład spojrzeć na ten przykład ja Utworzono: https://github.com/viblo/pymunk/blob/master/examples/using_sprites_pyglet.py
(IM autora pymunk)
Powiązane problemy
- 1. Numpy `ValueError: operandy nie mogły być nadawane razem z kształtem ...`
- 2. Jak możesz animować duszka w SFML
- 3. Aby powiązać wyczyść z^l w Bash
- 4. Jak określić kierunek kolejnego duszka w Scratch
- 5. CSS Diamentowe problemy z centralnym kształtem strony
- 6. Python pyglet AVBin - Jak zainstalować AVBin
- 7. Jak powiązać sterownik z urządzeniem USB?
- 8. pyglet 1.2alpha1 nie działa na Python 3.3.0
- 9. Jak Bower i NPM łączą się razem?
- 10. Utwórz okno w qt z kształtem z obrazu
- 11. Jak uzyskać podświetlanie składni vim, aby działało razem z ukrywaniem?
- 12. Jak powiązać z RelativeSource Self?
- 13. Jak powiązać z s-up?
- 14. Jak powiązać StaticResource z konwerterem?
- 15. Jak powiązać kategorię z postpressem?
- 16. Jak powiązać zmienne z zamknięciem?
- 17. Jak powiązać przycisk z ListView.SelectedItem
- 18. Używanie pygletu, skręcania, pygtk razem w aplikacji
- 19. Jak powiązać repeater ItemDataBound, aby zaktualizować na liście rozwijanej SelectedIndexChanged
- 20. jQuery jak powiązać wiązanie danych?
- 21. Jak powiązać zdarzenie z sessionStorage?
- 22. Problemy z OpenGL 4 VBOs i tablicami Numpy, Pyglet/Python
- 23. podstawowy openGL, bufory wierzchołków i pyglet
- 24. Jak powiązać rvm z ustawieniami środowiska Eclipse
- 25. Jak powiązać ciągi ko.observableArray?
- 26. Jak powiązać z CurrentItem z ICollectionView
- 27. aby macierz „n” razem większe w Matlab
- 28. Przeglądaj, aby załadować zależności z wymaganego zakresu globalnego, zamiast oczekiwać, że zbiorą się razem
- 29. WPF - jak powiązać DataGridTemplateColumn
- 30. WPF: Jak powiązać obiekt z ComboBox
Jeżeli '+ 180' naprawdę istnieje ? Bez tego uzyskuję lepszy wynik. – Flimm
Tylko jeśli model jest odwrócony. W tym przykładzie duszek jest do góry nogami w stosunku do trójkąta, więc potrzebuje rotacji. Ale zwykle go nie potrzebujesz. Teraz zdaję sobie sprawę, że bez niego byłoby czystsze. – viblo