Example #1
0
    def reinstate(self, x, y, target=None, coordZ=4):
        layer = currents['layerObject']
        kind = self._kind
        self.absorbedDamage = 0.0
        self.takenDamage = 0
        self.weapons = kind.weapons
        self.settings = Settings()
        self.rays = []
        self.position = rel(x, y)
        self.target = target
        self.soundList = []
        self.runners = []
        self.aura = None
        self.schedule_interval(self.regen, 1)
        self.do(kind.actions)
        self._gonnaDie = False
        self._auraCache = []
        self.velocity = 0, 0
        layer.add(self, z=coordZ)
        if self.good:
            layer.avatarHelpers.append(self)
        else:
            layer.enemies.append(self)

        shipsFree[kind].remove(self)
        shipsUsed[kind].append(self)

        layer.add(self, z=5)
Example #2
0
 def reinstate(self, x, y, target=None, coordZ=4):
     layer = currents['layerObject']
     kind = self._kind
     self.absorbedDamage = 0.0
     self.takenDamage = 0
     self.weapons = kind.weapons
     self.settings = Settings()
     self.rays = []
     self.position = rel(x,y)
     self.target = target
     self.soundList = []
     self.runners = []
     self.aura = None 
     self.schedule_interval(self.regen, 1)
     self.do(kind.actions)
     self._gonnaDie = False
     self._auraCache = []
     self.velocity = 0, 0
     layer.add(self, z=coordZ)
     if self.good:
         layer.avatarHelpers.append(self)
     else:
         layer.enemies.append(self)
     
     shipsFree[kind].remove(self)
     shipsUsed[kind].append(self)
     
     layer.add(self, z=5)
Example #3
0
def collision_layer(tilelayer, cm, alt_tilelayer=None):

    def collision_sprite(img, pos):
        sprite = cocos.sprite.Sprite(img)
        sprite.cshape = cocos.collision_model.AARectShape(pos, 8,8)
        sprite.position = pos
        return sprite

    toggle_objs = {}

    layer = cocos.layer.ScrollableLayer()
    im = pyglet.image.Texture.create(40*16, 40*16)
    #print type(tilelayer)
    for i in range(40):
        for j in range(40):
            cell = tilelayer.get_cell(i,j)
            if cell.tile != None:
                img = cell.tile.image.get_image_data()
                sprite = collision_sprite(img.texture, cell.center)
                im.blit_into(img, i*16, j*16, 0)
                cm.add(sprite)
    spr = cocos.sprite.Sprite(im)
    spr.position = (20*16,20*16)
    layer.add(spr)

    '''
    batch = cocos.batch.BatchNode()
    #layer.add(batch)
    for col in tilelayer.cells:
        for cell in col:
            if cell.tile != None:
                
                img = cell.tile.image.get_image_data().texture
                sprite = collision_sprite(img, cell.center)
                print cell.topright
                #sprite.position = cell.center

                if cell.get('type') == 'block':
                    pass
                    #batch.add(sprite)
        
                elif cell.get('type') == 'toggle':
                    sprite.norm = img

                    # image to swap to when 'toggled'
                    alt_coords = c['alternate']
                    cell = alt_tilemap.get_cell(*(ast.literal_eval(alt_coords)))
                    sprite.alt = cell.tile.image.get_image_data().texture
                    sprite.toggled = False

                    batch.add(sprite)
                    toggle_objs[sprite.position] = sprite
                
                #cm.add(sprite)
    '''                         
    return layer,cm
Example #4
0
def game_over():
    w, h = director.get_window_size()
    layer = cocos.layer.Layer()
    text = cocos.text.Label('Game Over', position=(w*0.5, h*0.5),
                            font_name='Oswald', font_size=72,
                            anchor_x='center', anchor_y='center')
    layer.add(text)
    scene = cocos.scene.Scene(layer)
    new_scene = FadeTransition(mainmenu.new_menu()) #FadeTransition轉場景特效
    func = lambda: director.replace(new_scene)
    scene.do(ac.Delay(3) + ac.CallFunc(func)) #如同在main.menu.py的self.create_menu所說,場景也可以做動作,故在3秒後才切換至新場景
    return scene
Example #5
0
def game_over():
    w, h = director.get_window_size()
    layer = cocos.layer.Layer()
    text = cocos.text.Label('Game Over', position=(w*0.5, h*0.5),
                            font_name='Oswald', font_size=72,
                            anchor_x='center', anchor_y='center')
    layer.add(text)
    scene = cocos.scene.Scene(layer)
    new_scene = FadeTransition(mainmenu.new_menu())
    func = lambda: director.replace(new_scene)
    scene.do(ac.Delay(3) + ac.CallFunc(func))
    return scene
Example #6
0
def game_over():
    w, h = director.get_window_size()
    layer = cocos.layer.Layer()
    text = cocos.text.Label('Game Over', position=(w/2, h/2),
            font_name='Oswald', font_size=72,
            anchor_x='center',
            anchor_y='center')
    layer.add(text)
    scene = cocos.scene.Scene(layer)
    new_scene = FadeTransition(mainmenu.new_menu())
    func = lambda: director.replace(new_scene)
    scene.do(ac.Delay(3)+ac.CallFunc(func))
    return scene
def game_over():
    # create a text label
    w, h = director.get_window_size()
    layer = cocos.layer.Layer()
    text = cocos.text.Label('Game Over',
                            position=(w * 0.5, h * 0.5),
                            font_name='Oswald',
                            font_size=72,
                            anchor_x='center',
                            anchor_y='center')
    layer.add(text)
    scene = cocos.scene.Scene(layer)

    menu_scene = FadeTransition(mainmenu.new_menu())
    show_menu = lambda: director.replace(menu_scene)
    scene.do(ac.Delay(3) + ac.CallFunc(show_menu))
    return scene
Example #8
0
def game_over(over=True):
    #print("game_over")
    w, h = director.get_window_size()
    layer = cocos.layer.Layer()
    if over:
        label_txt = "Game Over"
    else:
        label_txt = "Game Pass"
    text = cocos.text.Label(label_txt,
                            position=(w * 0.5, h * 0.5),
                            font_name='Oswald',
                            font_size=72,
                            anchor_x='center',
                            anchor_y='center')
    layer.add(text)
    scene = cocos.scene.Scene(layer)
    new_scene = FadeTransition(mainmenu.new_menu())
    func = lambda: director.replace(new_scene)
    scene.do(ac.Delay(3) + ac.CallFunc(func))
    return scene
Example #9
0
import cocos.director
import cocos.scene
import cocos.sprite
import cocos.layer
import cocos.actions as ac


class Hit(ac.IntervalAction):
    def init(self, duration=0.5):
        self.duration = duration

    def update(self, t):
        self.target.color = (255, 255 * t, 255 * t)


if __name__ == '__main__':
    cocos.director.director.init(caption='Actions 101')

    layer = cocos.layer.Layer()
    sprite = cocos.sprite.Sprite('tank.png', position=(200, 200))
    sprite.do(ac.MoveBy((100, 0), 3) + Hit() + ac.MoveBy((50, 0), 2))
    layer.add(sprite)

    scene = cocos.scene.Scene(layer)
    cocos.director.director.run(scene)
Example #10
0
import cocos.director
import cocos.scene
import cocos.sprite
import cocos.layer
import cocos.actions as ac


class Hit(ac.IntervalAction):
    def init(self, duration=0.5):
        self.duration = duration

    def update(self, t):
        self.target.color = (255, 255 * t, 255 * t)


if __name__ == "__main__":
    cocos.director.director.init(caption="Actions 101")

    layer = cocos.layer.Layer()
    sprite = cocos.sprite.Sprite("tank.png", position=(200, 200))
    sprite.do(ac.MoveBy((100, 0), 3) + Hit() + ac.MoveBy((50, 0), 2))
    layer.add(sprite)

    scene = cocos.scene.Scene(layer)
    cocos.director.director.run(scene)