Я относительно новичок в мире сценариев pygame, и мне нужна была помощь в написании игры: это будет лабиринт с переходом игрока от начальной точки к точке прибытия.Перемещение .png выход из экрана
Я решил начать с основ, создав окно, в котором персонаж (файл .png) перемещается при нажатии клавиш numpad.
Проблема в том, когда мой .png достигает экрана, через который проходит. Как я могу предотвратить его выход из экрана? (PS: Я хочу, если это возможно, решение, в котором мне не нужно использовать класс, я абсолютно ненавижу тех, и мне это совсем не удобно)
Вот код того, что я написал до сих пор:
импорт librairies/importating библиотеки
import pygame
from pygame.locals import *
pygame.init()
pygame.time.Clock().tick(30)
F1=pygame.display.set_mode((640, 480), RESIZABLE) # création fenêtre/creating main window
bg=pygame.image.load("background.jpg").convert() # chargement et conversion de l'image/loading and converting picture
F1.blit(bg, (0,0)) #collage de l'image de fond/sticking background
pygame.display.flip() # raffraichissement écran/refreshing screen
perso=pygame.image.load("perso.png").convert_alpha()
F1.blit(perso, (0,0))
pygame.display.flip()
F1_rect=F1.get_rect()
position=perso.get_rect()
F1.blit(perso, position)
pygame.display.set_caption("Deadalus V 0.0.0.1")
continuer = 1 # création d'une boucle infinie/creating main loop
pygame.key.set_repeat(1,1)
while continuer:
for event in pygame.event.get():
if event.type == QUIT:
continuer = 0
if event.type == KEYDOWN:
if event.key == K_KP2:
position = position.move(0,3)
if event.key == K_KP5:
position = position.move(0,-3)
if event.key == K_KP1:
position = position.move(-3,0)
if event.key == K_KP3:
position = position.move(3,0)
F1.blit(bg, (0,0))
F1.blit(perso, position)
pygame.display.flip()
Вам потребуется некоторое условие, которое проверяет представление местоположения игрока и границы игровой зоны. Я думаю, что рано или поздно вам понадобятся занятия, чтобы помочь с абстракцией (если, может быть, *, вы - гуру функционального программирования.) Классы будут удобны для изучения - вам в конечном итоге нужно будет с ними комфортно. – BlackVegetable
Спасибо за ответ. Вы знаете, где я могу найти хороший полный учебник о том, как использовать класс? – MaxFR68
Это в значительной степени стандартный учебник, хотя я уверен, что поиск в Google даст вам больше: http://docs.python.org/2/tutorial/classes.html – BlackVegetable