Posso creare giochi per Android usando Python o Pygame?

Sulla base della risposta di Joshua A Saxby, penso che sebbene tu possa creare giochi non funzionerà bene su Android. Quindi ti suggerirei di provare Free 2D Game Engine (love2d). È una piattaforma trasversale, quindi il suo gioco funzionerà su win, linux e android (forse anche ios). Utilizza Lua per lo scripting che non è molto difficile, visto che hai familiarità con Python. Potresti sviluppare e testare il tuo gioco direttamente sul tuo telefono (ad esempio quando non puoi accedere al tuo pc). Hai solo bisogno di un editor.

  1. Prima installa LÖVE per Android - Apps on Google Play .
  2. Crea un file chiamato 'main.lua' all'interno della cartella 'lovegame'.
  3. modifica questo file (io uso l'editor vim all'interno di Termux), metti il tuo codice all'interno ed esegui l'applicazione ... Il tuo gioco è ora pronto e funzionante.

Prova ad incollare il codice sottostante per provare un gioco 2d di base. Stavo cercando di seguire questo tutorial (scritto per computer) e ho finito per fare un gioco per Android con un po' di modifiche.

  1. local t_d = {} 
  2. t_d.is_inside = function (x,y,box_x,box_y) if (x >= box_x-20 and x <= box_x+20 and y >= box_y-20 and y <= box_y+20) then 
  3. return true 
  4. else return false 
  5. end end 
  6. -- local dr_btn= require("draw_button") 
  7. exit_x=50 
  8. exit_y=50 
  9. buttonl_x=050 
  10. buttonl_y=320 
  11. buttonr_x=600 
  12. buttonr_y=320 
  13. JumpButton_x = 300 
  14. JumpButton_y = 320 
  15.  
  16. platform = {} 
  17. player = {} 
  18. function love.load() 
  19. platform.height = love.graphics.getHeight()  
  20. platform.width = love.graphics.getWidth()  
  21. platform.x = 0 
  22. platform.y = platform.height / 2 + 50 
  23. player.x = love.graphics.getWidth() /2 
  24. player.y = love.graphics.getHeight() /2 + 50 
  25. player.img = love.graphics.newImage('purple.png') 
  26. player.speed = 150 
  27. player.ground = player.y 
  28. player.y_velocity = 0 
  29. player.jump_height = -300 
  30. player.gravity = -500 
  31. end 
  32. function love.update(dt) 
  33.  
  34. local touches = love.touch.getTouches() 
  35.  
  36. for i, id in ipairs(touches) do 
  37.  
  38. x, y = love.touch.getPosition(id) 
  39.  
  40. end 
  41. if (t_d.is_inside(x or 0,y or 0,exit_x,exit_y)) then 
  42. love.event.quit() 
  43. end 
  44. if (t_d.is_inside(x or 0,y or 0,buttonr_x,buttonr_y)) then 
  45. player.x = player.x < love.graphics.getWidth() -32 and player.x + player.speed * dt or player.x 
  46. end 
  47. if (t_d.is_inside(x or 0,y or 0,buttonl_x,buttonl_y)) then 
  48. player.x = player.x > 0 and (player.x - player.speed * dt) or player.x 
  49. end 
  50. if (t_d.is_inside(x or 0,y or 0,JumpButton_x,JumpButton_y)) then 
  51. player.y_velocity = player.y_velocity == 0 and player.jump_height or player.y_velocity 
  52. end 
  53. if player.y_velocity ~= 0 then 
  54. player.y = player.y + player.y_velocity * dt 
  55. player.y_velocity = player.y_velocity - player.gravity * dt 
  56. end 
  57. if player.y > player.ground then 
  58. player.y_velocity = 0 
  59. player.y = player.ground 
  60. end 
  61.  
  62. end 
  63.  
  64. function love.draw() 
  65.  
  66. love.graphics.setColor(1,1,1) 
  67. love.graphics.rectangle('fill',platform.x,platform.y,platform.width,platform.height) 
  68. love.graphics.setColor(0.5,0.5,0.5) 
  69. if ( x and y ) then 
  70. love.graphics.circle("fill", x, y, 20) 
  71. love.graphics.print(x.." "..y,0,0) 
  72. end 
  73. love.graphics.circle("fill", exit_x, exit_y, 20) 
  74. love.graphics.circle("fill", buttonl_x, buttonl_y, 20) 
  75. love.graphics.circle("fill", buttonr_x, buttonr_y, 20) 
  76. love.graphics.circle("fill", JumpButton_x, JumpButton_y, 20) 
  77. love.graphics.draw(player.img,player.x,player.y,0,1,1,0,32) 
  78.  
  79. x = nil 
  80. y = nil 
  81. end 

Just try once. You will be in love with löve.