每当我试图制作一个蛇游戏时,这仍然是不完整的,每当我的蛇与边界碰撞时,它就会进入下一个屏幕a
你真差劲再试试
但如果我双击pygame窗口的任何地方,它有时会崩溃。
左点击的次数不止2次,但最终点击一段时间后仍然会崩溃。
我必须做些什么来解决这个问题,因为在我玩蛇的初始屏幕上没有这个问题。
我使用的代码如下所示:
import pygame
import random
pygame.init()
font = pygame.font.Font(None,25)
def mess(msg,color):
screen_text = font.render(msg, True , color)
display.blit(screen_text , [(w/2) - 50 , h/2] )
score = 0
w = 800
h = 600
display = pygame.display.set_mode((w,h))
pygame.display.update()
red = (255,0,0)
white = (255,255,255)
black = (0,0,0)
yellow = (255,255,0)
bye = False
xpos = w/2
ypos = h/2
xch = 0
ych = 0
b = 10
while True:
wa = random.randrange (10,700)
ha = random.randrange (10,500)
if wa%10 == 0 and ha%10 == 0:
break
time = pygame.time.Clock()
FPS = 10
up = False
side = False
lenth = 10
while not bye:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_w and up == False:
ych = -b
xch = 0
up = True
side = False
if event.key == pygame.K_s and up == False:
ych = +b
xch = 0
up = True
side = False
if event.key ==pygame.K_d and side == False:
xch = +b
ych = 0
side = True
up = False
if event.key == pygame.K_a and side == False:
xch = -b
ych = 0
side = True
up = False
if xpos == wa and ypos == ha:
lenth = lenth + 10
while True:
wa = random.randrange (10,700)
ha = random.randrange (10,500)
if wa%10 ==0 and ha%10 == 0:
break
score = score + 10
if xpos == w - 10 or xpos == 0 or ypos == h - 10 or ypos == 0:
xch = 0
ych = 0
display.fill(black)
mess("You suck Try again!",red)
pygame.display.update()
break
xpos = xpos + xch
ypos = ypos + ych
time.tick(FPS)
display.fill(white)
display.fill(red , rect=[xpos,ypos,10,10])#snake
display.fill(yellow ,rect=[xpos + 0.41 , ypos +10 ,10 , lenth])#bady
display.fill(black, rect=[wa,ha,10,10]) #food
pygame.display.update()
当snake离开屏幕时,将执行以下if语句:
if xpos == w - 10 or xpos == 0 or ypos == h - 10 or ypos == 0:
xch = 0
ych = 0
display.fill(black)
mess("You suck Try again!",red)
pygame.display.update()
break
因此,在将一些文本绘制到显示器并调用pygame.display.update()
之后,您将调用brot
,这将结束您的而
循环。
所以你的游戏不会崩溃,它只是结束。
我不知道这是否能完全解决你的问题。但是像这样没有睡眠的循环会导致你的程序占用你所有的CPU能量,这可能会导致你的程序崩溃。解决这个问题的方法是改变这个代码...
while True:
wa = random.randrange (10,700)
ha = random.randrange (10,500)
if wa%10 ==0 and ha%10 == 0:
break
对这个...
wa = random.randrange(1,70)*10
ha = random.randrange(1,50)*10
这将同时删除while循环,并且仍然给出一个在10和700之间以及10和500之间被10整除的数字。
自定义datePicker代码: 这就是我如何在我的主要活动中使用这个类: Logcat:
我正在做一个简单的pygame项目,它目前有从屏幕顶部落到屏幕底部的炸弹。如果玩家击中炸弹他们就会死。到现在为止一切正常。问题是当炸弹已经经过玩家,但还没有离开屏幕时,它仍然会杀死玩家。也就是说,炸弹将会通过玩家的下部,但如果你越过,在它越过屏幕的下部之前,你将会死亡。他是我的代码: 数值如下: player.rect.x的值范围为120到500,具体取决于播放机在屏幕上的位置。(当您移动时,屏幕
(现在,我只想在我的屏幕上放一张地图) 下面是XML 代码如下: 当我查看调试时,我得到了这样的结果:
所以我正在制作一个简单的寻宝游戏。我已经实现了SurfaceHolder.Callback和OnTouchListener方法。当触摸屏幕以挖掘宝藏时,应用程序崩溃。 下面是 DrawSurface 类的代码: 以下是我收到的错误消息: E/AndroidRuntime: FATAL EXCEPTION: main Process:justinrhinehart.cse.fullsail.trea
更新XCode 8.2后,每次保存模拟器屏幕截图都会使其崩溃。即使我重置了内容和设置,仍然会崩溃。 我应该删除所有模拟器并再次安装它们吗? 更新: 8.2.1也有同样的问题 8.3只支持塞拉利昂 以下是坠机报告:
我试图在应用程序启动的实际闪屏之前删除系统白色飞溅。我遵循以下主题: 如何修复应用程序启动上的白屏?并为飞溅活动创建了半透明样式: 但在安装后首次启动时,应用程序崩溃并出现以下未处理的异常: 首次启动后应用程序正常启动。我可以修复这种行为吗?如果这很重要,我正在使用最新的android支持库