web-dev-qa-db-fra.com

Pygame sur Android

Je me demandais si quelqu'un pourrait me donner une explication détaillée sur la façon d'exécuter un jeu/application développé en utilisant Pygame sur un Android. J'ai récemment terminé de programmer PacMan et cela fonctionne parfaitement sur mon ordinateur, mais Je pense que ce serait génial si je pouvais le faire fonctionner sur mon téléphone. J'ai essayé de suivre les instructions sur http://pygame.renpy.org/Android-packaging.html, mais chaque fois que je lance "importer Android" sur l'IDLE, j'obtiens une erreur disant qu'il n'a pas trouvé le module. Quelqu'un pourrait-il expliquer clairement comment configurer le Android?

De plus, dans mon programme, j'ai utilisé du code tel que if (event.key == K_UP ou event.key == K_w): direction = UP. Cependant, il n'y a pas de touches fléchées sur un téléphone. Quel code devrais-je utiliser pour voir si l'utilisateur a glissé l'écran avec ses doigts de haut en bas ou de gauche à droite, etc.

Toute aide est la bienvenue. Merci <3

14

Il existe un sous-ensemble pyGame pour Android. Cependant, cela nécessite un remaniement spécial et un changement de programme. Espérons que ce ne sera pas trop difficile.

http://pygame.renpy.org/writing.html

http://pygame.renpy.org/index.html

Cependant à propos de votre deuxième question, je suis incapable de répondre car je ne suis pas encore assez expérimenté.

5
Fredwordsplat

je pense que le sous-ensemble pygame pour Android serait bien mais je ne fais pas confiance à sa fonctionnalité, j'utilise kivy comme plateforme multiplateforme et si vous décidez d'utiliser le sous-ensemble pygame pour Android votre touche de flips sur l'écran d'un Android appareil serait le mouvement de votre souris sur le bureau, donc je dis traiter la touche comme la souris bonne chance

2
Anihs Emma

Il y a déjà de très bonnes réponses pour votre première partie, donc je ne répondrai pas à cela. (Je suis venu ici pour savoir quoi utiliser aussi!)

Cependant, la deuxième partie de votre question devrait être beaucoup plus simple.

Avoir un objet souris qui, lors d'un événement souris vers le bas, enregistrera les coordonnées du toucher dans une variable MX et MY Ensuite, lorsque l'événement souris vers le haut est déclenché, prend les nouvelles coordonnées et calcule un vecteur en utilisant MX et MY et ce nouveau point, c'est-à-dire. La distance et l'angle du balayage. Utilisez la trigonométrie ou le module mathématique pour l'angle (recherchez arctan2).

Vous pouvez ensuite l'utiliser dans un if, Elif, sinon pour déterminer le quadrant de l'angle et la distance pour déterminer si le balayage était valide s'il est supérieur à une certaine valeur.

Je suis sur mobile, donc je ne peux malheureusement pas donner d'exemple, mais je suis certain que vous êtes apte à trouver la solution avec ces conseils.

2
KitsuneKarishnacov

Pour votre deuxième question, il y a une réponse dans un autre site Web.

https://amp.reddit.com/r/Python/comments/2ak14j/made_my_first_Android_app_in_under_5_hours_using/

il dit que vous pouvez essayer du code comme celui-ci

if Android:
    Android.map_key(Android.KEYCODE_BACK, pygame.K_ESCAPE)

J'espère que cela vous aidera.

0
flt