You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pygame中实现矩形绕圆周旋转且始终保持相切

猫鼠游戏开发:矩形(猫)绕圆旋转并保持相切问题

我正在开发一款受多年前观看的Numberphile视频启发的猫鼠概念游戏,核心目标是让代表猫的矩形绕圆周旋转,且始终与圆相切。
猫绕圆旋转到另一位置
填充的矩形应始终朝右

我已实现矩形绕圆旋转的功能,但始终保持相切的部分存在困难。以下是相关代码:

class Cat:
    def __init__(self, surface:pygame.Surface, bound:Boundry) -> None:
        self.surf = surface
        self.boundry = bound
        self.w, self.h = 20, 30
        
        
        self.x = self.boundry.x + self.boundry.radius *  + math.cos(0) - self.w // 2
        self.y = self.boundry.y + self.boundry.radius * math.sin(0) - self.h

        self.angle = math.atan2(self.x, self.y)

        self.rect_surface = pygame.Surface((self.x, self.y))
        self.rect = pygame.Rect((self.x, self.y), (self.w, self.h))


    def draw(self):
        pygame.draw.rect(self.surf, (255, 0, 0), self.rect)

若想参与开发,可访问GitHub仓库:Cat-Mouse


内容的提问来源于stack exchange,提问作者cranberry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:27:16