如何为我的游戏正确设置坐标

喀尔喀比兹

如何使红色块出现在灰色和绿色块之间。

在此处输入图片说明

在上面的图片中,我将驴的矩形x位置更改为160,然后只有我才能看到红色块,否则我将隐藏在灰色块下。

这是我的代码

class Road(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((200, 500))
        self.image.fill(grey)
        self.rect = self.image.get_rect()
        self.rect.centerx = width/2
        #self.rect.left = width-200
        #print self.rect.left
        self.speedy = 5
    def update(self):
        self.rect.y += self.speedy
        if self.rect.y > 0:
            self.rect.y = 0

class Donkey(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((100, 100))
        self.image.fill(red)
        self.rect = self.image.get_rect()
        self.rect.x = 200
        print 'x:',self.rect.x
        self.rect.y = -54
        print 'y:',self.rect.y
        self.speedy = random.randint(8,10)
    def update(self):
        self.choice = (200, 300)
        self.rect.y += self.speedy
        if self.rect.top > height:
            self.rect.x = random.choice(self.choice)
            print 'x:', self.rect.x
            self.rect.y = random.randrange(-100, -40)
            print 'y', self.rect.y
            self.speedy = random.randint(8,10)

class Race_car(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((100, 100))
        self.image.fill(green)
        self.rect = self.image.get_rect()
        self.rect.x = 200
        self.rect.bottom = height
        self.speedy = -0.1
    def update(self):
        #self.speedx = 0
        self.rect.y += self.speedy
        keypressed = pygame.key.get_pressed()
        if keypressed[pygame.K_RIGHT]:
            self.rect.x = 300
        elif keypressed[pygame.K_LEFT]:
            self.rect.x = 200


#Group, object for game_hearth
game_hearth = pygame.sprite.Group()
road = Road()
game_hearth.add(road)

#Group, object for donkey
donkey = Donkey()
donkeys = pygame.sprite.Group()
game_hearth.add(donkey)
donkeys.add(donkey)

#Group, object for racecar
racecar = Race_car()
racecars = pygame.sprite.Group()
game_hearth.add(racecar)
racecars.add(racecar)

当我在注释Race_car类后运行代码时,红色块正常工作,请参见

在此处输入图片说明

所以事情是我想在灰色道路上方显示红色和绿色的块。因此如何在不注释程序中任何类的情况下进行操作。我知道它的一些协调错误,但我不知道在哪里进行更改。

bzrr

Pygame的文档中

组不以任何顺序保留精灵,因此绘制顺序是任意的。

您可能应该切换到pygame.sprite.OrderedUpdates

此类派生自pygame.sprite.RenderUpdates()。它保持将精灵添加到组以进行渲染的顺序。这使得从组中添加和删除Sprite的速度比常规组慢一些。

#Group, object for game_hearth
game_hearth = pygame.sprite.OrderedUpdates()

road = Road()
game_hearth.add(road)

#Group, object for donkey
donkey = Donkey()
donkeys = pygame.sprite.OrderedUpdates()
game_hearth.add(donkey)
donkeys.add(donkey)

#Group, object for racecar
racecar = Race_car()
racecars = pygame.sprite.OrderedUpdates()
game_hearth.add(racecar)
racecars.add(racecar)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为标题,坐标轴设置matplotlib字体,

来自分类Dev

如何为maptoolbar的导航图标设置位置坐标?

来自分类Dev

如何为Android游戏设置计时器?

来自分类Dev

如何为简单的游戏设置动态边界/组件-JAVA

来自分类Dev

如何为乌龟游戏设置最高分系统?

来自分类Dev

如何为 Ubuntu 正确分区我的硬盘?

来自分类Dev

Swift:如何为我的游戏处理视图控制器

来自分类Dev

如何为我的 Hangman 游戏添加新功能?

来自分类Dev

如何为我的jQuery插件设置选项?

来自分类Dev

如何为我的VPN连接设置路由

来自分类Dev

我如何为身体设置背景?

来自分类Dev

如何正确比较坐标?

来自分类Dev

如何为可编辑日期设置正确的日期格式

来自分类Dev

如何为每个设备设置正确的视口-Android PhoneGap

来自分类Dev

如何为django-debug-toolbar正确设置内部ip

来自分类Dev

如何为简单的C项目正确设置TravisCI

来自分类Dev

如何为猫鼬中的日期字段设置正确的时区?

来自分类Dev

如何为proc_open设置正确的PATH

来自分类Dev

Django:如何为MySQL数据库设置正确的位置

来自分类Dev

如何为django-debug-toolbar正确设置内部ip

来自分类Dev

如何为双启动设置正确分区SSD

来自分类Dev

如何为sshd服务正确设置chroot监狱?

来自分类Dev

Angular 5 - 如何为网站正确设置帖子

来自分类Dev

动态顶点-如何为简单的vert.x游戏正确设计vert.x架构?

来自分类Dev

动态顶点-如何为简单的vert.x游戏正确设计vert.x架构?

来自分类Dev

我玩全屏游戏后如何自动恢复显示设置?

来自分类Dev

如何设置像素坐标?

来自分类Dev

如何设置像素坐标?

来自分类Dev

JLabel,如何设置坐标

Related 相关文章

热门标签

归档