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.
- Prima installa LÖVE per Android - Apps on Google Play .
- Crea un file chiamato 'main.lua' all'interno della cartella 'lovegame'.
- 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.
- local t_d = {}
- 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
- return true
- else return false
- end end
- -- local dr_btn= require("draw_button")
- exit_x=50
- exit_y=50
- buttonl_x=050
- buttonl_y=320
- buttonr_x=600
- buttonr_y=320
- JumpButton_x = 300
- JumpButton_y = 320
- platform = {}
- player = {}
- function love.load()
- platform.height = love.graphics.getHeight()
- platform.width = love.graphics.getWidth()
- platform.x = 0
- platform.y = platform.height / 2 + 50
- player.x = love.graphics.getWidth() /2
- player.y = love.graphics.getHeight() /2 + 50
- player.img = love.graphics.newImage('purple.png')
- player.speed = 150
- player.ground = player.y
- player.y_velocity = 0
- player.jump_height = -300
- player.gravity = -500
- end
- function love.update(dt)
- local touches = love.touch.getTouches()
- for i, id in ipairs(touches) do
- x, y = love.touch.getPosition(id)
- end
- if (t_d.is_inside(x or 0,y or 0,exit_x,exit_y)) then
- love.event.quit()
- end
- if (t_d.is_inside(x or 0,y or 0,buttonr_x,buttonr_y)) then
- player.x = player.x < love.graphics.getWidth() -32 and player.x + player.speed * dt or player.x
- end
- if (t_d.is_inside(x or 0,y or 0,buttonl_x,buttonl_y)) then
- player.x = player.x > 0 and (player.x - player.speed * dt) or player.x
- end
- if (t_d.is_inside(x or 0,y or 0,JumpButton_x,JumpButton_y)) then
- player.y_velocity = player.y_velocity == 0 and player.jump_height or player.y_velocity
- end
- if player.y_velocity ~= 0 then
- player.y = player.y + player.y_velocity * dt
- player.y_velocity = player.y_velocity - player.gravity * dt
- end
- if player.y > player.ground then
- player.y_velocity = 0
- player.y = player.ground
- end
- end
- function love.draw()
- love.graphics.setColor(1,1,1)
- love.graphics.rectangle('fill',platform.x,platform.y,platform.width,platform.height)
- love.graphics.setColor(0.5,0.5,0.5)
- if ( x and y ) then
- love.graphics.circle("fill", x, y, 20)
- love.graphics.print(x.." "..y,0,0)
- end
- love.graphics.circle("fill", exit_x, exit_y, 20)
- love.graphics.circle("fill", buttonl_x, buttonl_y, 20)
- love.graphics.circle("fill", buttonr_x, buttonr_y, 20)
- love.graphics.circle("fill", JumpButton_x, JumpButton_y, 20)
- love.graphics.draw(player.img,player.x,player.y,0,1,1,0,32)
- x = nil
- y = nil
- end
Just try once. You will be in love with löve.