你好!我在之前的帖子中遇到了类似的困难;我有一个想法,如何让某个东西工作,但缺少一个元素使其平滑工作。今天我遇到的问题是,我想在任意方向找到最近的特定实例。在理论上,我只需要以下代码(用伪代码编写)
with(instances){
if point_direction(other.x,other.y,self.x,self.y) = ideal direction
and distance from self to other < stored id
stored id = self
然而,我觉得不断检查可能的十几个或更多个对象彼此之间的位置会很头疼。因此,我改用以下代码:
if(radar_segment_size != 0){
// Done as to not divide by 0
`for(var dir = radar_dir; dir < 360; dir += 360/radar_segment_size){`
// dir = direction, radar_dir是根据原始实例的起始方向
`try{`
// That 0,0 in the x2 and y2是你需要解决的
collision_line_list(self.x,self.y,0,0,checked_object,false,true,radar_objects,true)
//之后,连接与首个实例在碰撞列表中的实例
`} catch(noInstanceFound){`
`}`
`}`
// 对不起,代码有些混乱;我仍然不知道如何让Reddit的代码块正常工作
那么,所有这些说了之后,我遇到的问题是:我需要找到一个x和y值,使其代表方向的dir值,同时使得x和y值到达房间的边缘。如何获得这些x和y值?
评论 (0)