首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flappy Bird旋转算法

Flappy Bird旋转算法
EN

Stack Overflow用户
提问于 2020-04-26 21:55:00
回答 3查看 241关注 0票数 2

我正在用c++和DirectX写一个浮华的小鸟克隆。我基本上完成了,除了旋转的算法。我现在有一个(rotation = ((90 * (yVelocity+10) / 25) - 90)/2;),但它的行为方式与最初的flappy鸟不同。我正在尝试尽可能地复制最初的flappy鸟的旋转,因此任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2020-04-27 08:20:50

我会使它等于原始的yVelocity,但将其限制为2个数字。就像这样

代码语言:javascript
复制
rotation = min(topClamp, max(bottomClamp, yVelocity));

你可能想玩一段时间,但这将使旋转依赖于yVelocity,但如果玩家不断向上,那么旋转将被夹在某个数字,而鸟将只是向上看,就像在原始游戏中一样。

票数 2
EN

Stack Overflow用户

发布于 2021-10-05 18:38:18

代码语言:javascript
复制
    def fall(self):
        # bird falls with accelerated motion
        self.movement += GRAVITY
        self.rect.centery += self.movement

    def rotate(self):
        # factor is positive when falling, therefore rotation is clockwise
        # factor is negative when raising, rotation is counter-clockwise
        factor = -2
        factor *= self.movement

        self.image = pygame.transform.rotozoom(self.temporary, factor, 1)
票数 0
EN

Stack Overflow用户

发布于 2021-10-05 18:42:51

self.temporary是当前精灵的副本。

代码语言:javascript
复制
""" Bird object """
class Bird(pygame.sprite.Sprite):
    def __init__(self, color):
        super().__init__()

        # sounds
        self.flap = pygame.mixer.Sound('wing.wav')
        self.crash = pygame.mixer.Sound('crash.wav')
        
        # flapping sprites
        self.sprites = []

        for i in [1, 2, 3]:
            temp = pygame.image.load(color + str(i) + ".png").convert_alpha()
            temp = pygame.transform.scale2x(temp)
            self.sprites.append(temp)
            
        # current sprite
        self.image = self.sprites[0]

        # temporary sprite
        self.temporary = self.image

        # current rectangle
        self.rect = self.image.get_rect(center=(BIRD_X, HEIGHT/2))

        # current frame
        self.frame = 0

        # movement amount
        self.movement = 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61441960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档