예제 #1
0
    def _draw_entity_THREE_DEE(self, screen, entity):
        face_color = entity.color
        side_color = utilities.darker(face_color, 20)
        bottom_color = utilities.darker(side_color, 20)
        top_color = utilities.lighter(face_color, 20)
 
        convex_hull = self._convex_hull(back_corners + corners)

        fill_color = utilities.darker(bottom_color, 30)
        pygame.draw.polygon(screen, fill_color, convex_hull, 0)
        
        pygame.draw.lines(screen, bottom_color, True, back_corners, 2)
        for (c , back_c) in zip(corners, back_corners):
            pygame.draw.line(screen, side_color, c, back_c, 2)
        pygame.draw.lines(screen, face_color, True, corners, 2)
예제 #2
0
 def _draw_rects_3D(self, screen, rect_list):
     fronts_and_backs = [self._get_front_and_back_corners_2(screen, r) for r in rect_list]
     convex_hulls = [self._convex_hull(corners) for corners in fronts_and_backs]
     all_colors = [x.color for x in rect_list]
     
     for (color, corners, hull) in zip(all_colors, fronts_and_backs, convex_hulls):
         fill_color = utilities.darker(color, 60)
         self._fill_transparent_poly(screen, fill_color, hull, 128)
         
         front_corners = corners[0:4]
         back_corners = corners[4:]
         back_color = utilities.darker(color, 40)
         side_color = utilities.darker(color, 20)
         pygame.draw.lines(screen, back_color, True, back_corners, 2)
         for (f, b) in zip(front_corners, back_corners):
             pygame.draw.line(screen, side_color, f, b, 2)
         pygame.draw.lines(screen, color, True, front_corners, 2)