コード例 #1
0
 def __init__(self, x, y, image, sound, groups):
     SpriteW.__init__(self, x, y, image, (groups['all'], groups['items']))
     self._sfx = sfx_loader.get_sfx(sound)
     # Tween function maps integer steps to values between 0 and 1.
     self._spawn_pos = vec(x, y)
     self._tween = tween.easeInOutSine
     self._step = 0
     self._direction = 1
     self.groups = groups
コード例 #2
0
 def __init__(self, x, y, groups):
     SpriteW.__init__(self, x, y, Barricade._IMAGE,
                      (groups['all'], groups['obstacles']))
     # Shrink hitbox and recenter
     self.image = pg.transform.scale(
         self.image, (4 * self.rect.w // 5, 4 * self.rect.h // 5))
     self.rect = self.image.get_rect()
     self.rect.center = (x, y)
     self.hit_rect = self.rect
コード例 #3
0
 def __init__(self, x, y, scale_h, scale_w, rot, groups):
     self._layer = cfg.TRACKS_LAYER
     SpriteW.__init__(self, x, y, Tracks.IMAGE, groups['all'])
     # Transform and recenter.
     old_center = self.rect.center
     self.image = pg.transform.rotate(self.image, rot - Tracks.IMG_ROT)
     self.image = pg.transform.scale(self.image, (scale_h, scale_w))
     self.rect = self.image.get_rect()
     self.rect.center = old_center
     self._alpha = 255
コード例 #4
0
 def __init__(self, x, y, max_durability, image, groups):
     SpriteW.__init__(
         self, x, y, image,
         (groups['item_boxes'], groups['obstacles'], groups['all']))
     # Protects original image from being changed.
     self.image = self.image.copy()
     self.groups = groups
     self._box_sfx = sfx_loader.get_sfx(ItemBox.SFX)
     self._durability = max_durability
     self._disappear_alpha = chain(ItemBox._DISAPPEAR_ALPHA * 2)
コード例 #5
0
ファイル: bullet.py プロジェクト: sergentserg/BlastZone
 def __init__(self, x, y, dir, type, color, id, groups):
     self._layer = cfg.ITEM_LAYER
     SpriteW.__init__(self, x, y, _IMAGES[type][color],
                      (groups['all'], groups['bullets']))
     Movable.__init__(self, x, y)
     self.rotate_image(dir - Bullet.IMAGE_ROT)
     # Rotatable.rotate_image(self, self.image, dir - Bullet.IMAGE_ROT)
     self.hit_rect = self.rect
     self._damage = _STATS[type]["damage"]
     self.vel = cfg.Vec2(_STATS[type]["speed"], 0).rotate(-dir)
     self._lifetime = _STATS[type]["lifetime"]
     self._spawn_timer = Timer()
     self.id = id
コード例 #6
0
 def __init__(self, x, y, img, groups):
     self._layer = cfg.TANK_LAYER
     SpriteW.__init__(
         self, x, y, img,
         (groups['all'], groups['tanks'], groups['damageable']))
     MovableNonlinear.__init__(self, x, y)
     Rotatable.__init__(self)
     Damageable.__init__(self, self.hit_rect)
     self.groups = groups
     self.MAX_ACCELERATION = 768
     self._barrels = []
     self._items = []
     self.hit_rect.center = self.pos
     self._track_timer = Timer()
コード例 #7
0
ファイル: barrel.py プロジェクト: sergentserg/BlastZone
    def __init__(self, color, type, parent, offset, image, groups):
        self._layer = cfg.BARREL_LAYER
        SpriteW.__init__(self, *parent.rect.center, image, (groups['all'], ))
        Rotatable.__init__(self)
        self.groups = groups

        # Bullet parameters.
        self._type = type
        self._color = color
        self._ammo_count = _STATS[self._type]["max_ammo"]

        # Parameters used for position.
        self._parent = parent
        self._offset = offset

        self._fire_delay = _STATS[self._type]["fire_delay"]
        self._fire_timer = Timer()
        self._fire_sfx = sfx_loader.get_sfx(Barrel._FIRE_SFX)
コード例 #8
0
ファイル: barrel.py プロジェクト: sergentserg/BlastZone
 def __init__(self, x, y, rot, groups):
     self._layer = cfg.EFFECTS_LAYER
     SpriteW.__init__(self, x, y, MuzzleFlash.IMAGE, groups['all'])
     self.rotate_image(rot - MuzzleFlash.IMG_ROT)
     # Rotatable.rotate_image(self, self.image, rot - MuzzleFlash.IMG_ROT)
     self._spawn_timer = Timer()
コード例 #9
0
 def __init__(self, title, actions, groups):
     SpriteW.__init__(self, 0, 0, Menu.IMAGE, groups)
     self._groups = groups
     self._title = title
     self.buttons = []
コード例 #10
0
 def __init__(self, x, y, groups):
     SpriteW.__init__(self, x, y, Tree._IMAGE,
                      (groups['all'], groups['obstacles']))
     self._layer = cfg.ITEM_LAYER