Python中文
首页
教程
问答
标签
搜索
登录
注册
sprite不会在pygame中向左或向右移动
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图通过按箭头键将精灵(称为玩家)向左或向右移动。这个长方形的中心或者说是由右边的移动所造成的。正如你可能看到的,我试图从精灵的x坐标中加上/减去8,以便将其向右或向左移动。但是,当我按下箭头键时,精灵不会移动。我该怎么解决这个问题?在</p> <pre><code>import pygame import random import time import pygame as pg # set the width and height of the window width = 800 height = 370 groundThickness = 30 pheight = 50 pwidth = 50 playerx = 0+pwidth playery = height-groundThickness-pheight/2 fps = 30 # define colors white = (255, 255, 255) black = (0, 0, 0) red = (5, 35, 231) # initialize pygame pygame.init() # initialize pygame sounds pygame.mixer.init() # create window screen = pygame.display.set_mode((width, height)) pygame.display.set_caption("my game") clock = pygame.time.Clock() class Player(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface((pwidth, pheight)) self.image.fill(red) self.rect = self.image.get_rect() self.rect.center = (playerx, playery) all_sprites = pygame.sprite.Group() player = Player() all_sprites.add(player) # Game loop running = True x_change = 0 while running: # keep loop running at the right speed clock.tick(fps) # Process input (events) for event in pygame.event.get(): # check for closing window if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: print("left") x_change = -8 elif event.key == pygame.K_RIGHT: print("right") x_change = 8 if event.type == pygame.KEYUP: if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT: x_change = 0 print(x_change) playerx += x_change all_sprites.update() #ground pygame.draw.rect(screen, (0,255,0), ((0, height-groundThickness), (width, groundThickness))) # Update all_sprites.update() # Draw / render all_sprites.draw(screen) pygame.display.update() # AFTER drawing everything, flip the display pygame.display.flip() pygame.quit() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>用你的背景色或图像填充屏幕也需要保持你的屏幕随着移动精灵的当前位置而更新。以下命令将添加到游戏循环的“绘制/渲染”部分的顶部:</p> <pre><code>screen.fill(black) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
4 回答
我想从用户导入值,为此
7 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
5 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
6 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
4 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
5 回答
我想从第一个空lin开始解析文本文件
9 回答
我想从简历、简历中提取特定部分
5 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
4 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
8 回答
我想从网上搜集一些关于抵押贷款的数据
8 回答
我想从网站上删除电子邮件地址
2 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
9 回答
我想从网站中提取数据,然后将其显示在我的网页上
3 回答
我想从网页上提取统计数据。
1 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
3 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
8 回答
我想从课堂上打印字典里的键
2 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
1 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
10 回答