我正在用python编写一个蛇游戏,蛇可以向上、向左和向右移动,当我试图向下移动时(使用箭头)总是会出错。我正在处理碰撞,因为蛇会与自身碰撞(蛇头接触身体),屏幕将显示“游戏结束-你输了”。
Traceback (most recent call last):
File "/Users/myname/Documents/SnakeGame.py", line 107, in <module>
collision_y = playerRect.centrex
AttributeError: 'pygame.Rect' object has no attribute 'centrex'
#timer for the game and frames per second
startTime = time.perf_counter()
FPS = 300
elapsedTime = 0
#creating numbers and text
GameOverFont = pygame.font.SysFont ('arial', 20)
GameOverMsg = GameOverFont.render("GAME OVER - YOU LOST", True, (RED))
screen.blit (GameOverMsg, [screenCentreX, screenCentreY])
collision_x = 0
collision_y = 0
collision_colour = None
clock = pygame.time.Clock()
speed = 3
screen.fill(WHITE)
#create a Rect to hold the player
# you need to give it the x,y, width, height parameters
playerRect = pygame.Rect(startX,startY,32,32)
# set main loop to True so it will run
main = True
# main loop
while main:
for event in pygame.event.get():
if event.type ==pygame.QUIT:
main = False
if event.type ==pygame.KEYDOWN:
if event.key == pygame.K_UP:
dx = 0
dy = -speed
elif event.key == pygame.K_DOWN:
dx = 0
dy = speed
elif event.key == pygame.K_LEFT: # note: this section of code
dx = -speed # doesn't have to change from
dy = 0 # code not using Rects
elif event.key == pygame.K_RIGHT:
dx = speed
dy = 0
elif event. key == pygame.K_q:
pygame.quit()
if event.type == pygame.KEYUP:
if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
dx = 0
dy = 0
elif event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
dx = 0
dy = 0
#frames per second the program is running on
clock.tick(FPS)
if dx > 0:
collision_x = playerRect.right + 1
collision_y = playerRect.centery
collision_colour = screen.get_at((collision_x,collision_y))
elif dx < 0:
collision_x = playerRect.left - 1
collision_y = playerRect.centery
collision_colour = screen.get_at((collision_x,collision_y))
elif dy > 0:
collision_x = playerRect.bottom + 1
collision_y = playerRect.centrex
collision_colour = screen.get_at((collision_x,collision_y))
elif dy < 0:
collision_x = playerRect.top - 1
collision_y = playerRect.centerx
collision_colour = screen.get_at((collision_x,collision_y))
if collision_colour == BLUE:
screen.fill(BLACK)
startX = screenCentreX
startY = screenCentreY
dx = 0
dy = 0
main = False
gameover = True
elapsedTime = int(time.perf_counter() - startTime)
在线collision_y=playerRect上有一个拼写错误的中心。
elif dy中的centrex
我见过的每个滚动实现都需要执行Javascript(例如、),而不是Selenium Webdriver中的可用方法来执行此操作。既然Webdriver被设计为在浏览器中执行用户可能使用的相同交互,为什么在任何地方都找不到呢? 我知道使用Webdriver与DOM中的元素交互可以避免滚动元素,但是有些库(如ReactVirtualized)被设计成只呈现可见行,这使得自动化更加困难。
我们为树视图控件创建一个层次数据模板。我们可以使用鼠标单击树项来更改选择。现在,我们要使用键盘上下键来上下移动所选内容。但似乎行不通。我用谷歌和Stackoverflow搜索了很多,但是失败了。 所以我为此创建了一个新的线程,你能给我一些帮助吗?thx。 另一个问题是,我可以使用鼠标单击文本块来选择项目,但是当我使用鼠标单击复选框时,该项目无法被选中。当我点击复选框时,是否无论如何要选择树视图项?
我有一个下拉菜单,除了一个我无法解决的小错误外,它工作得很好。 第一个下拉框项正常出现。然而,第二个下拉框项稍微向右移动。我猜想是我设置的链接的边距导致下拉框稍微向右移动。如果是这样的话,我能做些什么来解决这个问题呢? 这是一个简单的导航菜单,它将drop菜单项的位置设置为绝对位置,并由父元素的overflow:隐藏功能隐藏。悬停时,下拉框会显示溢出:可见。 现场在这里- CSS 超文本标记语言
我正在开发一个应用程序,在一个xml文件中有两个线性布局。开始时,一个线性布局设置为不可见。当用户按下按钮时,可见的线性布局应向下滑动90%,并显示第二个线性布局。我编写了动画文件,并使其运行良好。我的问题是,在动画之后,视图会回到原来的状态。如何向下移动第一个线性布局以显示第二个线性布局?有什么帮助吗? 主活动文件: } XML文件:
我正在使用自定义底部导航栏。因此,每当我关注编辑文本字段时,底部视图就会与键盘一起出现。 我已尝试更改清单中的和。它可以工作,但使用时滚动不起作用。 下面是java代码,这是底部导航的单击操作。它与其他三项相似。 }
我们用AngularJS HTML创建了一个应用程序。在这种情况下,文本框、链接、按钮和其他对象上的选项卡顺序应该是从左到右的。一旦到达行上最右边的对象,选项卡就应该向下移动到最左边的文本框。 为了实现这一点,我在元素上添加了tab-index,但根据需要,我需要从左到右移动。 下面添加了一个示例代码: 由于所设计的UI是列式设计,所以如果设计分为两部分,每部分有四个组合框,则添加为: DIV1