Ejemplo n.º 1
0
 def __init__(self, blitting_surface, position, radius):
     self._type = "circle"
     self._blitting_surface = blitting_surface
     self._decart_position = position
     self._position = decart_position_to_position(position,
                                                  blitting_surface)
     self._radius = radius
Ejemplo n.º 2
0
 def calculate(self, surface, mouse_position, decart_camera_position,
               objects):
     self._points = []
     self._radiuses = []
     self._blitting_surface = surface
     self._mouse_position = mouse_position
     self._decart_camera_position = decart_camera_position
     self._point_position = decart_camera_position
     self._objects = objects
     self._decart_mouse_position = functions.position_to_decart_position(
         mouse_position, surface)
     self._camera_position = functions.decart_position_to_position(
         decart_camera_position, surface)
     self._calculate_angle()
     for i in range(50):
         self._calculate_distance()
         self._calculate_intersection_point()
         self._radiuses.append(self._distance)
         self._points.append(self._point_position)
         if self._distance > 500:
             self._distance_to_object = float('inf')
             return 0
         elif self._distance < 0.001:
             self._distance_to_object = sum(self._radiuses)
             return 1
         self._point_position = self._intersection_point
Ejemplo n.º 3
0
 def _blit_circles(self):
     for i in range(len(self._points)):
         if self._radiuses[i] >= 1:
             point = functions.decart_position_to_position(
                 (int(self._points[i][0]), int(self._points[i][1])),
                 self._blitting_surface)
             if self._radiuses[i] >= 5:
                 draw.circle(self._blitting_surface, (0, 0, 0), point, 3)
             draw.circle(self._blitting_surface, (0, 0, 0), point,
                         int(self._radiuses[i]), 1)
Ejemplo n.º 4
0
 def __init__(self,
              blitting_surface,
              position,
              color=(127, 127, 127),
              radius=8):
     self._blitting_surface = blitting_surface
     self._decart_position = position
     self._position = decart_position_to_position(position,
                                                  blitting_surface)
     self._color = color
     self._radius = radius
Ejemplo n.º 5
0
 def check_mouse_on_camera(self, mouse_position):
     return functions.check_mouse_on_circle(
         mouse_position,
         functions.decart_position_to_position(self._position,
                                               self._blitting_surface), 8)
Ejemplo n.º 6
0
 def set_position(self, position):
     self._position = position
     self._decart_position = decart_position_to_position(
         position, self._blitting_surface)