@Bars1011

Как реализовать управление под андроид на pygame?

Изучаю библиотеку pygame, решил написать игру для телефона, похожую на space invaders, и не могу понять как реализовать управление под андроид. То есть сенсорное, поскольку там нет клавиатуры как на ПК. Надо чтобы персонажа можно было передвигать по экрану движением пальца в лево и право. Парюсь над этим уже несколько дней, искал различную информацию, перепробовал кучу разных вариантов. И если честно уже сам запутался в своей писание. Помогите пожалуйста кто-нибудь. Ниже приведен код всех игровых файлов. За управление отвечает controls, за расположение и инициализации игрока hero.
main.py
import pygame, controls
import sys
from hero import Hero

def run():
	
	pygame.init()
	screen = pygame.display.set_mode((700, 800))
	pygame.display.set_caption("Space invaders")
	clock = pygame.time.Clock()
	bg = pygame.image.load("images/bg.jpg")
	hero = Hero(screen)
	surfrect = screen.get_rect
	mouseClicked = False
	while True:
		   controls.events(hero)
	 	  hero.update_hero()
		   screen.blit(bg, (0, 0))
		   hero.output()
	 	  pygame.display.flip()


run()

hero.py
import pygame

class Hero():
		
		def __init__(self, screen):
			self.screen = screen
			self.image = pygame.image.load("images/idle.png")
			self.rect = self.image.get_rect()
			self.screen_rect = screen.get_rect()
			self.rect.x = 278
			self.rect.y = 450
			self.xnew = self.rect.x
			self.ynew = self.rect.y
			self.per = False
		
		def output(self):
			
			self.screen.blit(self.image, self.rect)

controls.py
import pygame, sys

def events(hero):
				mouseClicked = False
				for event in pygame.event.get():
					if event.type == pygame.QUIT:
						sis.exit()
  • Вопрос задан
  • 1502 просмотра
Пригласить эксперта
Ответы на вопрос 1
TalismanChet
@TalismanChet
Лицо зла
Управление на андроид работает почти также, как на ПК, только вместо MOUSBUTTONDOWN там FINGERDOWN, а вместо MOUSEBUTTONUP - FINGERUP. Если же нужна информация по типу "как сделать свайп в pygame на Android", то переформулируйте вопрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы