-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmelee.py
68 lines (55 loc) · 1.91 KB
/
melee.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import pygame
class melee:
def __init__(self,x,y,image,dmg,nx,ny,angle,tag):
self.image = pygame.Surface((64,64))
self.image = pygame.image.load(image)
self.updatedImage = self.image
self.rect = self.image.get_rect()
self.rect.topleft = (x, y)
self.damage = dmg
self.x = x
self.y = y
self.nx = nx
self.ny = ny
self.time = pygame.time.get_ticks()
self.angle = angle - 90
self.ID = tag
self.hit = False
def getID(self):
return self.ID
def updateHit(self,x):
self.hit = x
def getHit(self):
return self.hit
def set(self,x,y):
self.x = x
self.y = y
def getDamage(self):
return self.damage
def getCurrentPosition(self):
return [self.x,self.y]
def update(self):
self.x += self.nx
self.y += self.ny
self.rect = self.rect.move(self.nx,self.ny)
def updateOrientation(self):
loc = self.image.get_rect().topleft #rot_image is not defined
rot_sprite = pygame.transform.rotate(self.image, self.angle) #all melee sprites are inteneded to be created straight up
rot_sprite.get_rect().topleft = loc
self.updatedImage = rot_sprite
def updateForwardMovement(self, speed):
self.x += self.nx * speed
self.y += self.ny * speed
self.rect = self.rect.move(self.nx * speed,self.ny * speed)
def updateBackwardMovement(self, speed):
self.x -= self.nx *speed
self.y -= self.ny * speed
self.rect = self.rect.move(-self.nx * speed,-self.ny * speed)
def updateWorld(self,x,y):
self.x += x
self.y += y
self.rect = self.rect.move(x,y)
def render(self, display):
display.blit(pygame.transform.rotate(self.image,self.angle),(self.x,self.y))
def getTime(self):
return self.time