Files
2019-02-27 12:11:42 +01:00

55 lines
1.5 KiB
Python

class Entity:
made=0
def __init__(self,name="Unnamed",id=None,position=None,size=None,colliding_box=None,spawn_position=None,velocity=[0,0],acceleration=[0,0]):
"""Create entity object using name, id, position, size, colliding_box, spawn_position, velocity and acceleration."""
Entity.made+=1
self.made=Entity.made
self.name=name
self.id=id
self.position=position
self.size=size
self.spawn_position=spawn_position
self.velocity=velocity
self.acceleration=acceleration
self.load()
def load(self):
"""Load specific entity attributs."""
self.alive=False
self.mass=None
self.gravitional_constant=9.81
def move(self):
"""Move entity."""
for i in range(self.dimensions):
self.velocity[i]+=self.acceleration[i]
self.position[i]+=self.velocity[i]
def getNextPosition(self):
ax,ay=self.acceleration
vx,vy=self.velocity
x,y=self.position
vx+=ax
vy+=ay
x+=vx
y+=vy
return (x,y)
def spawn(self):
self.alive=True
if self.spawn_position is not None:
self.position=self.spawn_position
def die(self):
self.alive=False
def show(self,window):
pass
def collide(self,entity):
if self.colliding_box is not None and entity.colliding_box is not None:
x,y=self.getNextPosition()
ex,ey=entity.getNextPosition()
bx,by=self.colliding_box
ebx