//title:RUN N GUN BOY BY SHINY //states: init = state => { state.x = 0 state.y = 112 state.sprite = 0 state.hflip = 0 state.runtimer = 0 state.jumptimer = 0 state.jumping = 0 state.crouching = 0 } update = (state, input, elapsed) => { //sideways movement: if(input.right){state.x += 0.6 state.hflip = 0 } if(input.left){state.x -= 0.6 state.hflip = 1 //running animations: } if(state.jumping != 1 && input.left || input.right){state.runtimer += 0.25} if(state.runtimer > 1) {state.sprite += 1 state.runtimer = 0 } //jumping animations: if(state.sprite > 4 && state.jumping != 1){state.sprite = 0} if(input.a){state.jumping = 2} if(state.jumping > 1){state.jumptimer +=0.25} if(state.jumptimer > 1) {state.sprite = 5} if(state.jumptimer > 2) {state.sprite = 0 } if(state.jumptimer > 3) {state.sprite = 2} //manual god damn jump physics. fml: if(state.jumptimer > 3) {state.y -= 1} if(state.jumptimer > 6) {state.y += 0.4} if(state.jumptimer > 9) {state.y += 0.8} if(state.jumptimer > 10) {state.sprite = 3 state.y += 1} //collision goes here: if(state.y > 112 && state.jumptimer >= 10) {state.y = 112 state.sprite = 0 state.jumping = 0 state.jumptimer = 0} //stop running animations: if(input.leftReleased || input.rightReleased){state.sprite = 0} } //graphic stuff: draw = state => { clear() rectFill(0, 0, 128, 128, 1) map() print (2, 2, 'ShinY games presents', 5) print (1, 1, 'ShinY games presents', 3) sprite (state.x, state.y, state.sprite, 0 , state.hflip) }