我有一两个问题。我正在使用Pygame创建一个绘图游戏。在
我们有球在一个表面上在里面弹跳,相互碰撞,相互碰撞。用鼠标,你可以画直线,球反弹也反弹。在
球是用游戏机.image,因为我们有球.png覆盖球的表面和表面。但对于我们使用的线路pygame.draw.line()返回简单矩形。在
我现在最大的问题是:
我选择在画布上画出更大的物体。这是因为我想使用提供的像素完美碰撞检测here,以及surfarray.array_颜色键(),为此,我需要一个底层曲面(球的图像表面由游戏机.image). 我需要一个线的曲面,这样我就可以使用碰撞算法的透明度方面了,否则球会从包围线的矩形上反弹。在
Q1)有没有更好的方法来画线?我想用一些类似的图像或精灵。有这样的事吗?
Q2)如果没有,我应该如何为每条线创建曲面,以便使用“游戏画布”中的坐标在较小的曲面上绘制线相对容易,不会截断线条,并且上面描述的像素完美碰撞可以工作?
Q3)如果im完全关闭/有更好的方法来进行碰撞、检测、绘图等。请,我洗耳恭听。
每像素碰撞的线对圆是过度杀戮。在
二维圆线碰撞信息: 2D collision between a moving circle and a fixed line segment
并且,
euclid
有Circle.intersect( Line2 )
碰撞: http://partiallydisassembled.net/euclid/point2.html#SECTION002530000000000000000numpy
可能有更好的解决方案。在相关问题 更多 >
编程相关推荐