Browse Source

Fixed bugs in gbe/nodes

master
Bryan Miller 6 years ago
parent
commit
5df184e2e1
1 changed files with 14 additions and 8 deletions
  1. +14
    -8
      game/gbe/nodes.py

+ 14
- 8
game/gbe/nodes.py View File

@@ -6,6 +6,8 @@
'''

from .display import Display
import pygame


class NodeError(Exception):
pass
@@ -166,17 +168,17 @@ class Node2D(Node):
return
self._ACTIVE_SURF.fill(color)

def draw_lines(points, color, thickness=1, closed=False):
def draw_lines(self, points, color, thickness=1, closed=False):
if not hasattr(self, "_ACTIVE_SURF"):
return
pygame.draw.lines(self._ACTIVE_SURF, color, closed, points, thickness)

def draw_rect(rect, color, thinkness=1):
def draw_rect(self, rect, color, thickness=1):
if not hasattr(self, "_ACTIVE_SURF"):
return
pygame.draw.rect(self._ACTIVE_SURF, color, rect, thickness)

def draw_ellipse(rect, color, thickness=1, fill_color=None):
def draw_ellipse(self, rect, color, thickness=1, fill_color=None):
if not hasattr(self, "_ACTIVE_SURF"):
return
if fill_color is not None:
@@ -184,7 +186,7 @@ class Node2D(Node):
if thickness > 0:
pygame.draw.ellipse(self._ACTIVE_SURF, color, rect, thickness)

def draw_circle(pos, radius, color, thickness=1, fill_color=None):
def draw_circle(self, pos, radius, color, thickness=1, fill_color=None):
if not hasattr(self, "_ACTIVE_SURF"):
return
if fill_color is not None:
@@ -192,7 +194,7 @@ class Node2D(Node):
if thickness > 0:
pygame.draw.circle(self._ACTIVE_SURF, color, pos, radius, thickness)

def draw_polygon(points, color, thickness=1, fill_color=None):
def draw_polygon(self, points, color, thickness=1, fill_color=None):
if not hasattr(self, "_ACTIVE_SURF"):
return
if fill_color is not None:
@@ -221,6 +223,7 @@ class NodeSurface(Node2D):
return
if self._scale[0] == 1.0 and self._scale[1] == 1.0:
self._tsurface = None
return
size = self._surface.get_size()
nw = size[0] * self._scale[0]
nh = 0
@@ -229,6 +232,7 @@ class NodeSurface(Node2D):
else:
nh = size[1] * self._scale[1]
self._tsurface = pygame.Surface((nw, nh), pygame.SRCALPHA, self._surface)
self._tsurface.fill(pygame.Color(0,0,0,0))

@property
def resolution(self):
@@ -253,7 +257,8 @@ class NodeSurface(Node2D):
@property
def offset(self):
return self._offset
@offset.setter(self, offset):
@offset.setter
def offset(self, offset):
if not isinstance(offset, tuple):
raise TypeError("Expected a tuple")
if len(offset) != 2:
@@ -319,6 +324,7 @@ class NodeSurface(Node2D):
if resolution is None:
if dsurf is not None:
self._surface = dsurf.convert_alpha()
self._surface.fill(pygame.Color(0,0,0,0))
self._updateTransformSurface()
else:
if not isinstance(r, tuple):
@@ -331,6 +337,7 @@ class NodeSurface(Node2D):
self._surface = pygame.Surface(resolution, pygame.SRCALPHA, dsurf)
else:
self._surface = pygame.Surface(resolution, pygame.SRCALPHA)
self._surface.fill(pygame.Color(0,0,0,0))
self._updateTransformSurface()

def _render(self, surface):
@@ -351,8 +358,7 @@ class NodeSurface(Node2D):
if self._tsurface is not None:
pygame.transform.scale(self._surface, self._tsurface.get_size(), self._tsurface)
src = self._tsurface
if ssize[0] == dsize[0] and ssize[1] == dsize[1]:
dest.blit(src, pos)
dest.blit(src, pos)




Loading…
Cancel
Save