作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要准备好玩家的 Action ,我已经尝试从其他脚本中获取所需的代码但它似乎没有工作,即使没有出现错误,代码在几次检查后似乎没问题。我使用的库是 sys、pygame 和 glob。我正在遵循本指南,但也改变了它:https://pythonprogramming.altervista.org/platform-game-in-detail-part-1/?doing_wp_cron=1603309265.4902870655059814453125
代码:
from pygame.locals import *
import pygame
import sys
import glob
map1 = """wwwwwwwwwwwwwwwwwwwwwwwwwwwww
w w
w w
w w
w w
w
w d
w p
w
w w
w w
w w
w w
w w
w w
wwwwwwwwwwwwwwwwwwwwwwwwwwwww"""
#-----------------------------
door = pygame.image.load("C:/Users/cuerv/Downloads/Door.png")
door_rect = door.get_rect(center=(100, 250))
tile = pygame.image.load("C:/Users/cuerv/Downloads/Wall.png")
tile_rect = tile.get_rect(center=(100, 256))
player = pygame.image.load("C:/Users/cuerv/Downloads/Player.png")
player_rect = player.get_rect(center=(100, 256))
def init_display():
global screen, tile, door, player
screen = pygame.display.set_mode((480, 250))
def tiles(map1):
global tile, door, player
for y, line in enumerate(map1):
#counts lines
for x, c in enumerate(line):
#counts caracters
if c == "w":
#caracter is w
screen.blit(tile, (x * 16.18, y * 15))
if c == "d":
screen.blit(door, (x * 16.2, y * 15))
if c == "p":
screen.blit(player, (x * 16.2, y * 15))
playerx=200
playery=130
map1 = map1.splitlines()
pygame.init()
init_display()
clock = pygame.time.Clock()
while True:
tiles(map1)
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
DISPLAYSURF.blit(sprite, (playerx, playery))
if event.type == KEYDOWN:
if (event.key == K_LEFT):
playerx -= 5
elif (event.key == K_RIGHT):
playerx += 5
elif (event.key == K_UP):
playery -= 5
elif (event.key == K_DOWN):
playery += 5
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
pygame.display.update()
clock.tick(120)
最佳答案
只是你必须添加一个缩进 block :
while True:
tiles(map1)
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
DISPLAYSURF.blit(sprite, (playerx, playery))
if event.type == KEYDOWN:
if (event.key == K_LEFT):
playerx -= 5
elif (event.key == K_RIGHT):
playerx += 5
elif (event.key == K_UP):
playery -= 5
elif (event.key == K_DOWN):
playery += 5
关于python - 我一直在 pygame 中从事一个项目,但即使没有出现错误,玩家移动似乎也不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64543413/
我是一名合格的软件工程师,拥有设计软件、数据库和网站的经验,但我不明白公司如何找到软件数据库和网站开发的工作?任何建议将不胜感激..我确实意识到这可能会让我看起来很笨,可能会吸引负面反馈,但在我 15
我刚刚完成了由名为 Colt Steele/Steven Grider 的讲师在 Udemy 上开设的在线类(class)的大部分教程,并面临项目困惑。 我正在参与一个项目,其中有人介绍我制作一个“防
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我是一名优秀的程序员,十分优秀!