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)
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)