相关疑难解决方法(0)

围绕另一个点旋转一个点(2D)

我正在尝试制作纸牌游戏.现在显示它我使用具有功能的Allegro API:

al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X
        ,Y,DEGREES_TO_ROTATE_IN_RADIANS);
Run Code Online (Sandbox Code Playgroud)

所以有了这个,我可以轻松地让我的粉丝效果.问题在于知道哪个卡在鼠标下面.为此,我想到做多边形碰撞测试.我只是不确定如何旋转卡上的4个点来构成多边形.我基本上需要和Allegro做同样的操作.

例如,卡的4个点是:

card.x

card.y

card.x + card.width

card.y + card.height
Run Code Online (Sandbox Code Playgroud)

我需要一个像以下的功能:

POINT rotate_point(float cx,float cy,float angle,POINT p)
{
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ algorithm

123
推荐指数
5
解决办法
14万
查看次数

我怎样才能让我的子弹看起来像是从我的枪尖中出来?

在此处输入图片说明在此处输入图片说明我有在我的子弹不看问题喜欢他们来了我的枪出来,他们看起来像他们来的球员身体出视频,你可以在视频中看到它拍摄别的地方或者它的枪了同样的事情左侧它向上射击很好,但向下射击很糟糕VIDEO

在此处输入图片说明

我试着把我的枪调到 120,但结果是一切都对右侧有效,而不对左侧VIDEO 有效,因为你可以看到它只是小故障

我的弹丸课

class projectile(object):
   def __init__(self, x, y, dirx, diry, color):
       self.x = x
       self.y = y
       self.dirx = dirx
       self.diry = diry
       self.slash = pygame.image.load("round.png")
       self.slash = pygame.transform.scale(self.slash,(self.slash.get_width()//2,self.slash.get_height()//2))
       self.rect  = self.slash.get_rect()
       self.rect.topleft = ( self.x, self.y )
       self.speed = 18
       self.color = color
       self.hitbox = (self.x + -18, self.y, 46,60)



Run Code Online (Sandbox Code Playgroud)

我的射弹是如何附加的


        if event.type == pygame.MOUSEBUTTONDOWN:           
                    
                    # this is for the bullets
            if len(bullets) < 3:
                if box1.health > 25:
                    mousex, mousey …
Run Code Online (Sandbox Code Playgroud)

python pygame

8
推荐指数
1
解决办法
256
查看次数

标签 统计

algorithm ×1

c++ ×1

pygame ×1

python ×1