raycast (射线检测)
- raycast(colliders, origin, direction, max_distance=None)
实时发射一条射线,检测射线发射方向上,与射线碰撞的物体。返回碰撞的物体实例。可用来获取机器人运动方向上的其他物体。
- 参数
- 返回
返回被射线穿越的物体列表
- 返回类型
list[Sprite]
实际案例
>>> # 从(0, 0)沿 0 弧度方向发射一条 100 单位的射线,检查在 enemy_tanks 中被射线穿越的机器人 >>> opt.raycast(colliders=opt.enemy_tanks(), origin=(0, 0), direction=0, max_distance=100) [tank1, ...] # 返回被射线穿越的星体
>>> # 从我的坐标,沿着我的运动方向,发射一条射线,检测球是否被射线穿越 >>> opt.raycast( >>> colliders=[opt.BALL], # 待检测的星体 >>> origin=(opt.TANK.x, opt.TANK.y), # 射线发出点 >>> direction=opt.TANK.radian, # 射线发出方向 >>> max_distance=None, # 最大距离 >>> ) [] # 返回空则正前方没有球 [ball,] # 返回球的实例,则球在正前方