Пример #1
0
class Entity(Transformable):
	
	def __init__(self, sprite, **kwArgs):
		super().__init__(**kwArgs)

		self._sprite = sprite
		self._sprite.getAnimation().setState("Looping")
		self._sprite.setTransform(self.getTransform().createChild())
		
		self._collider = CollisionRect(self._sprite.getImage().width, self._sprite.getImage().height, t=self.getTransform().createChild())
		self._collider.addListener(self)
		
		self._boundsDisplay = None
		#self._boundsDisplay = SceneObject(dataSrc = self._collider, t=self._collider.getTransform(), color=Color.Green)

	''''''''''''''''''''''''''''''''''''''''''''''''''
	
	def update(self, dt):
		self._sprite.update(dt)
		self._collider.update(dt)
		
	
	''''''''''''''''''''''''''''''''''''''''''''''''''
	
	def notifyCollisions(self, colliderObj, otherColliders):
		if self._boundsDisplay:
			if otherColliders:
				self._boundsDisplay.setColor(Color.Red)
			else:
				self._boundsDisplay.setColor(Color.Green)
Пример #2
0
class Entity(Transformable):
    def __init__(self, sprite, **kwArgs):
        super().__init__(**kwArgs)

        self._sprite = sprite
        self._sprite.getAnimation().setState("Looping")
        self._sprite.setTransform(self.getTransform().createChild())

        self._collider = CollisionRect(self._sprite.getImage().width,
                                       self._sprite.getImage().height,
                                       t=self.getTransform().createChild())
        self._collider.addListener(self)

        self._boundsDisplay = None
        #self._boundsDisplay = SceneObject(dataSrc = self._collider, t=self._collider.getTransform(), color=Color.Green)

    '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' ''

    def update(self, dt):
        self._sprite.update(dt)
        self._collider.update(dt)

    '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' ''

    def notifyCollisions(self, colliderObj, otherColliders):
        if self._boundsDisplay:
            if otherColliders:
                self._boundsDisplay.setColor(Color.Red)
            else:
                self._boundsDisplay.setColor(Color.Green)
Пример #3
0
class Entity(Transformable):
	
	def __init__(self, sprite, **kwArgs):
		super().__init__(**kwArgs)

		self._sprite = sprite
		self._sprite.setTransform(self.getTransform().createChild())
		
		self._collider = CollisionRect(self._sprite.getImage().width, self._sprite.getImage().height, t=self.getTransform().createChild())
		self._collider.addListener(self)
		
		self._boundsDisplay = SceneObject(dataSrc = self._collider, t=self._collider.getTransform(), color=Color.Green, \
			batch=pyglet.graphics.Batch(), group=LinePolygonMode)
		
		
	''''''''''''''''''''''''''''''''''''''''''''''''''
	
	def update(self, dt):
		if self._sprite.update(dt):
			self._updateDimensions()			
		self._collider.update(dt)


	def _updateDimensions(self):
		w, h = self._sprite.getDimensions()
		self._collider.resize(w, h)

	
	''''''''''''''''''''''''''''''''''''''''''''''''''
	
	def notifyCollisions(self, colliderObj, otherColliders):
		if self._boundsDisplay:
			if otherColliders:
				self._boundsDisplay.setColor(Color.Red)
			else:
				self._boundsDisplay.setColor(Color.Green)


	''''''''''''''''''''''''''''''''''''''''''''''''''
	
	def getSprite(self):
		return self._sprite