コード例 #1
0
ファイル: funcs.py プロジェクト: fabr1z10/glib3
def fireHitsFoe(foe: example.Wrap1, fire: example.Wrap1, x, y):
    example.remove(fire.id)
    foe.setState ('dead2', {})
    s = Script()
    s.addAction (MoveAccelerated(v0=[50 if fire.x < foe.x else -50, 150], a=[0,vars.gravity], yStop = -32, id=foe.id))
    s.addAction (RemoveEntity (id=foe.id))
    example.play(s)
コード例 #2
0
def playerIsHit(player: example.Wrap1, foe: example.Wrap1, x, y):
    # decrease foe energy
    #info = player.getInfo()
    #info['energy'] -= 1
    vars.energy -= 1
    func.updateEnergy()

    if vars.energy <= 0:
        x = player.x()
        y = player.y()
        vars.lives -= 1
        func.updateLives()
        example.remove(player.id())
        s = Script()
        s.addAction(act.Delay(sec=1))
        s.addAction(act.CallFunc(f=createPlayer(x, y)))
        s.addAction(act.CallFunc(f=restart))
        example.play(s)
    else:
        player.setState('ishit', {})
        vx = 200 if foe.x() < player.x() else -200
        if player.flipx:
            vx *= -1
        player.vx = vx
        print('ciao')
コード例 #3
0
def pipe_out(p: example.Wrap1, k, x, y):
    p.setState('demo', {'left': 0})
    add_info = k.getInfo()['info']
    s = Script()
    s.add_action(act.Delay(0.5))
    s.add_action(act.CallFunc(goto_world(add_info['world'], add_info['pos'])))
    example.play(s)
コード例 #4
0
ファイル: scripts.py プロジェクト: fabr1z10/glib3
def winSlide(p: example.Wrap1, k, x, y):
    example.remove(k.id)
    p.setState('slide', {})
    s = Script()
    p.vy = 0
    s.addAction(Move(speed=50, to=[p.x, 48], tag='player'))
    s.addAction(SetState(tag='player', state='demo', args={'left': 0}))
    example.play(s)
コード例 #5
0
ファイル: scripts.py プロジェクト: fabr1z10/glib3
def pipe_out(p: example.Wrap1, k, x, y):
    p.setState('demo', {'left': 0})
    addInfo = k.getInfo()['info']
    s = Script()
    from smb_py.funcs import gotoWorld
    s.addAction(Delay(sec=0.5))
    s.addAction(CallFunc(gotoWorld(addInfo['world'], addInfo['pos'])))
    example.play(s)
コード例 #6
0
ファイル: scripts.py プロジェクト: fabr1z10/glib3
def enterPipe(a: example.Wrap1):
    if not vars.paused and vars.currentWarp != -1:
        a.setState('pipe', {})
        info = example.getById(vars.currentWarp).getInfo()
        s = Script()
        s.addAction(Move(speed=100, by=[0, -64], tag='player'))
        s.addAction(CallFunc(f=func.gotoWorld(info['world'], info['start'])))
        example.play(s)
コード例 #7
0
ファイル: funcs.py プロジェクト: yasminsadi/games
def foeIsHit(player : example.Wrap1, foe : example.Wrap1, x, y):
    # decrease foe energy
    info = foe.getInfo()
    info['energy'] -= 1
    if info['energy'] <= 0:
        example.remove(foe.id())
    else:
        foe.setState ('ishit', {})
        vx = 200 if player.x() < foe.x() else -200
        if foe.flipx: 
            vx *= -1
        foe.vx = vx
        print ('ciao')
コード例 #8
0
ファイル: scripts.py プロジェクト: fabr1z10/glib3
def _fire(a: example.Wrap1, state: str):
    if vars.state >= 2:
        a.setState(state, {})
        b = Sprite(model='fire',
                   pos=[a.x + (-2 if a.flipx else 2), a.y + 16, 0])
        b.flipx = a.flipx
        b.addComponent(
            Controller2D(maskUp=vars.flags.platform,
                         maskDown=vars.flags.platform
                         | vars.flags.platform_passthrough,
                         maxClimbAngle=80,
                         maxDescendAngle=80))
        b.addComponent(GarbageCollect(10))
        b.addComponent(Dynamics2D(gravity=vars.gravity))
        b.addComponent(
            SmartCollider(flag=vars.flags.player_attack,
                          mask=vars.flags.foe | vars.flags.platform,
                          tag=vars.tags.player_fire))
        sm = StateMachine(initialState='jmp')
        sm.states.append(Bounce(id='jmp', speed=300, a=0, b=200))
        b.addComponent(sm)
        id = example.get('main').add(b)
コード例 #9
0
def _fire(a: example.Wrap1, state: str):
    if vars.state >= 2:
        a.setState(state, {})
        b = entity.Sprite(model='fire',
                          pos=(a.x + (-2 if a.flipx else 2), a.y + 16, 0))
        b.flipx = a.flipx
        b.add_component(
            comp.Controller2D(mask_up=vars.flags.platform,
                              mask_down=vars.flags.platform
                              | vars.flags.platform_passthrough,
                              max_climb_angle=80,
                              max_descend_angle=80))
        b.add_component(comp.GarbageCollect(10))
        b.add_component(comp.Dynamics2D(gravity=vars.gravity))
        b.add_component(
            comp.SmartCollider(flag=vars.flags.player_attack,
                               mask=vars.flags.foe | vars.flags.platform,
                               tag=vars.tags.player_fire))
        sm = comp.StateMachine(initial_state='jmp')
        sm.states.append(
            platformer.states.Bounce(uid='jmp', speed=300, a=0, b=200))
        b.add_component(sm)
        example.get('main').add(b)