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)
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')
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)
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)
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)
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)
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')
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)
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)