diff --git a/.github/makecode/blocks.png b/.github/makecode/blocks.png index 9d2ac6a..ec06699 100644 Binary files a/.github/makecode/blocks.png and b/.github/makecode/blocks.png differ diff --git a/images.g.jres b/images.g.jres index 8972835..87f9d28 100644 --- a/images.g.jres +++ b/images.g.jres @@ -49,16 +49,6 @@ "mimeType": "image/x-mkcd-f4", "displayName": "Temporary asset3" }, - "image14": { - "data": "hwQQABAAAAAA8PAADw9wd/AADwDwAPB3AP//8PDwd3fwf/d/f3d3d/9/d/d/93d/cH9/93d/d3fwd3d/93d/d//393d39/d3f3d3f393d3dwf393f3/3f3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HfwAPAA8PBwdw==", - "mimeType": "image/x-mkcd-f4", - "displayName": "cactus_img" - }, - "image4": { - "data": "hwQQABAAAAAAUCVVIlUiggBQIkUiJSKCAFVFQlIlIoJQRSRCVCIiglBEJCJEVSKCAAAkVFUlIoIAQCRUIiIiggBAIkIiIiKCAEBEIkQiUoIAAEUiRCIiggBVJSJSIiKCVVUiQlUiUoJQUiVUJSIiggBVQlIiIiKCAFBFUlUiIoIAACVEUiIigg==", - "mimeType": "image/x-mkcd-f4", - "displayName": "fire_img" - }, "image16": { "data": "hwQYABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBVVQUAAAAAAAAAUFUzM1UFAAAAAAAAVTMzMzNVAAAAAAAANTMzMzNTBQAAAAAAVTMzMzMzVQAAAAAAUDUzMzMzUwUAAAAAAFU1MzMzM1UAAAAAAABVMzMzM1UAAAAAAABVMzMzM1UAAAAAAFU1MzMzUwUAAAAAUDUzMzMzVQAAAAAAVTMzMzNTBQAAAAAANTMzMzNVAAAAAAAAVTMzM1MFAAAAAAAAUFUzM1UAAAAAAAAAAFBVVQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "mimeType": "image/x-mkcd-f4", @@ -80,6 +70,16 @@ "mimeType": "image/x-mkcd-f4", "displayName": "jump right 1" }, + "image4": { + "data": "hwQQABAAAAAAAAAAAAAiggAAIEUiJCKCAABFQlIkIoJQRSRCVCIiglBEJCJEVSKCAAAkVFUlIoIAUCRUIiIiggBAIkIiIiKCAEBEIkQiUoIAAEUiRCIiggBVJSJSIiKCVVUiQlUiUoJQUiVUJSIiggAAQlIiIiKCAAAAUkQiIoIAAAAAACAigg==", + "mimeType": "image/x-mkcd-f4", + "displayName": "fire_img" + }, + "image14": { + "data": "hwQQABAAAAAA8PAADw9wd/AADwDwAPB3APD/8PDwd3cAf/d/f3d3d/9/d3d393d/cH9/93d3d3fwd3d/93d/d//3d3d39/d3f3d3f393d3dwf393d3d3d3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HfwAPAA8PBwdw==", + "mimeType": "image/x-mkcd-f4", + "displayName": "cactus_img" + }, "anim4": { "namespace": "myAnimations", "id": "anim4", diff --git a/images.g.ts b/images.g.ts index 0582a6f..7729ea2 100644 --- a/images.g.ts +++ b/images.g.ts @@ -576,44 +576,6 @@ dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ................................................................................ ................................................................................ ................................................................................ -`; - case "image14": - case "cactus_img":return img` -. . . . f . . f f . . . . f . . -. f . f f 7 f f 7 7 7 f f . . f -. . f f f f 7 7 7 f 7 7 7 f f . -f . f 7 7 7 7 f 7 7 7 7 f . . . -. f f 7 7 f 7 7 7 f 7 7 f f f . -f . f f 7 7 7 f 7 7 7 7 7 . . f -. . . f 7 7 f 7 f 7 7 f f f . . -. . f 7 f f 7 7 7 7 f 7 7 . f . -f . . f f 7 7 7 f f 7 7 7 . . . -. f f 7 7 7 f 7 7 7 7 f 7 . . f -f . . 7 7 f 7 7 7 f 7 7 7 f f . -. . f 7 f 7 7 f 7 7 7 f 7 . . f -. . 7 7 7 7 f 7 7 7 7 7 7 f . . -7 f 7 7 7 7 7 f 7 f f 7 7 7 f 7 -7 7 7 7 f 7 7 7 7 f 7 7 7 7 7 7 -7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 -`; - case "image4": - case "fire_img":return img` -. . . . . . . . . . . 5 . . . . -. . . 5 5 . . . . . . 5 5 . . . -. . 5 5 4 . . . . . 5 5 2 5 . . -5 5 5 4 4 . 4 4 4 . 5 5 5 5 5 . -5 2 5 4 4 4 4 2 4 5 5 2 5 2 5 5 -2 2 4 2 2 2 2 2 4 4 2 2 2 4 4 2 -5 5 2 2 2 4 4 2 2 2 2 2 4 2 2 4 -5 4 4 4 2 5 5 4 2 2 2 4 5 5 5 4 -2 2 2 4 4 5 2 2 4 4 2 5 5 2 5 2 -2 2 5 5 4 5 2 2 4 4 5 5 2 2 5 5 -5 5 5 2 5 5 2 2 2 2 2 2 2 2 2 2 -5 2 2 2 5 2 2 2 2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -2 2 2 2 2 2 2 2 5 2 2 5 2 2 2 2 -2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 `; case "image16": case "image17":return img` @@ -1120,6 +1082,44 @@ e e e e b b b b b b e e ................................................................................ ................................................................................ ................................................................................ +`; + case "image4": + case "fire_img":return img` +. . . . . . . . . . . 5 . . . . +. . . 5 5 . . . . . . 5 5 . . . +. . . 5 4 . . . . . 5 5 2 . . . +. . . 4 4 . 5 4 4 . 5 5 5 . . . +. . 5 4 4 4 4 2 4 5 5 2 5 2 . . +. 2 4 2 2 2 2 2 4 4 2 2 2 4 . . +. 5 2 2 2 4 4 2 2 2 2 2 4 2 2 . +. 4 4 4 2 5 5 4 2 2 2 4 5 5 5 . +. 2 2 4 4 5 2 2 4 4 2 5 5 2 4 . +. 2 5 5 4 5 2 2 4 4 5 5 2 2 4 . +. 4 4 2 5 5 2 2 2 2 2 2 2 2 2 . +. 2 2 2 5 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 5 2 2 5 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 +`; + case "image14": + case "cactus_img":return img` +. . . . f . . f f . . . . f . . +. f . . f 7 f f 7 7 7 f f . . f +. . . f f f 7 7 7 f 7 7 7 f f . +f . f 7 7 7 7 f 7 7 7 7 f . . . +. f f 7 7 f 7 7 7 f 7 7 f f f . +f . f f 7 7 7 7 7 7 7 7 7 . . f +. . . f 7 7 f 7 f 7 7 f f f . . +. . f 7 7 f 7 7 7 7 f 7 7 . f . +f . . f 7 7 7 7 f 7 7 7 7 . . . +. f f 7 7 7 f 7 7 7 7 f 7 . . f +f . . 7 7 7 7 7 7 7 7 7 7 f f . +. . f 7 f 7 7 f 7 7 7 f 7 . . f +. . 7 7 7 7 f 7 7 7 7 7 7 f . . +7 f 7 7 7 7 7 f 7 7 f 7 7 7 f 7 +7 7 7 7 f 7 7 7 7 7 7 7 7 7 7 7 +7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 `; } return null; diff --git a/main.blocks b/main.blocks index ea9806c..0fcb5b8 100644 --- a/main.blocks +++ b/main.blocks @@ -1,4 +1,4 @@ -PlayerProjectileFoodEnemyhackercntstoneprojectileimg` +hackercntstoneprojectilePlayerProjectileFoodEnemyimg` 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 @@ -119,6 +119,6 @@ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 -`{"commentRefs":[],"fieldData":{"img":"myImages.image17"}}hacker0assets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}Playerhacker4090hacker800Sprite.ay@sethacker150tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}hackercontroller.upControllerButtonEvent.PressedTRUEEQ0Sprite.vyhacker0Sprite.vy@sethacker-120cnt1TRUEEQ0cnt1Sprite.vy@sethacker-120cnt2controller.leftControllerButtonEvent.Pressedhackerassets.image`Temporary asset3`{"commentRefs":[],"fieldData":{"img":"myImages.image11"}}controller.rightControllerButtonEvent.Pressedhackerassets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}spriteProjectilelocationeffects.disintegratestone200else: +`{"commentRefs":[],"fieldData":{"img":"myImages.image17"}}hacker0assets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}Playerhacker4090hacker800Sprite.ay@sethacker150tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}hackercontroller.upControllerButtonEvent.PressedTRUEEQ0Sprite.vyhacker0Sprite.vy@sethacker-120cnt1TRUEEQ0cnt1Sprite.vy@sethacker-120cnt2TRUEGT0Sprite.vxhacker0hackerassets.animation`left jump animation`{"commentRefs":[],"fieldData":{"frames":"myAnimations.anim3"}}200falsehackerassets.animation`right jump animation`{"commentRefs":[],"fieldData":{"frames":"myAnimations.anim1"}}200falsecontroller.leftControllerButtonEvent.Pressedhackerassets.image`Temporary asset3`{"commentRefs":[],"fieldData":{"img":"myImages.image11"}}controller.rightControllerButtonEvent.Pressedhackerassets.image`Temporary asset2`{"commentRefs":[],"fieldData":{"img":"myImages.image9"}}5000projectile0assets.image`smartCloud`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}-190Sprite.y@setprojectile505000stone0assets.image`stone_img`{"commentRefs":[],"fieldData":{"img":"myImages.image13"}}055Sprite.x@setstoneADD0Sprite.xhacker5else: hacker.ay = 0 -hacker.vy = 0TRUELT0Sprite.yhacker50Sprite.vy@sethacker30Sprite.ay@sethacker150TRUELTE0Sprite.yhacker90Sprite.ay@sethacker1505000projectile0assets.image`smartCloud`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}-190Sprite.y@setprojectile505000stone0assets.image`stone_img`{"commentRefs":[],"fieldData":{"img":"myImages.image13"}}055Sprite.x@setstoneADD0Sprite.xhacker5 \ No newline at end of file +hacker.vy = 0TRUELT0Sprite.yhacker50Sprite.vy@sethacker50Sprite.ay@sethacker150TRUELTE0Sprite.yhacker90Sprite.ay@sethacker150 \ No newline at end of file diff --git a/main.py b/main.py index 10b788b..1ab26b9 100644 --- a/main.py +++ b/main.py @@ -6,6 +6,20 @@ def on_up_pressed(): elif cnt == 1: hacker.vy = -120 cnt += 2 + if hacker.vx < 0: + animation.run_image_animation(hacker, + assets.animation(""" + left jump animation + """), + 300, + False) + else: + animation.run_image_animation(hacker, + assets.animation(""" + right jump animation + """), + 300, + False) controller.up.on_event(ControllerButtonEvent.PRESSED, on_up_pressed) def on_left_pressed(): @@ -20,8 +34,8 @@ def on_right_pressed(): """)) controller.right.on_event(ControllerButtonEvent.PRESSED, on_right_pressed) -stone: Sprite = None projectile: Sprite = None +stone: Sprite = None cnt = 0 hacker: Sprite = None scene.set_background_image(img(""" @@ -170,17 +184,17 @@ def on_on_update(): game.on_update(on_on_update) def on_update_interval(): + global stone + stone = sprites.create_projectile_from_side(assets.image(""" + cactus_img + """), 0, 55) + stone.x = hacker.x + 5 +game.on_update_interval(5000, on_update_interval) + +def on_update_interval2(): global projectile projectile = sprites.create_projectile_from_side(assets.image(""" smartCloud """), -19, 0) projectile.y = 50 -game.on_update_interval(5000, on_update_interval) - -def on_update_interval2(): - global stone - stone = sprites.create_projectile_from_side(assets.image(""" - image14 - """), 0, 55) - stone.x = hacker.x + 5 game.on_update_interval(5000, on_update_interval2) diff --git a/main.ts b/main.ts index 63b612c..51a9591 100644 --- a/main.ts +++ b/main.ts @@ -6,6 +6,21 @@ controller.up.onEvent(ControllerButtonEvent.Pressed, function () { hacker.vy = -120 cnt += 2 } + if (hacker.vx > 0) { + animation.runImageAnimation( + hacker, + assets.animation`left jump animation`, + 200, + false + ) + } else { + animation.runImageAnimation( + hacker, + assets.animation`right jump animation`, + 200, + false + ) + } }) controller.left.onEvent(ControllerButtonEvent.Pressed, function () { hacker.setImage(assets.image`Temporary asset3`) @@ -13,11 +28,8 @@ controller.left.onEvent(ControllerButtonEvent.Pressed, function () { controller.right.onEvent(ControllerButtonEvent.Pressed, function () { hacker.setImage(assets.image`Temporary asset2`) }) -scene.onHitWall(SpriteKind.Projectile, function (sprite, location) { - stone.destroy(effects.disintegrate, 200) -}) -let projectile: Sprite = null let stone: Sprite = null +let projectile: Sprite = null let cnt = 0 let hacker: Sprite = null scene.setBackgroundImage(img` @@ -153,7 +165,7 @@ scene.cameraFollowSprite(hacker) // hacker.vy = 0 game.onUpdate(function () { if (hacker.y < 50) { - hacker.vy = 30 + hacker.vy = 50 hacker.ay = 150 } else if (hacker.y <= 90) { hacker.ay = 150 diff --git a/tilemap.g.jres b/tilemap.g.jres index 555f9ac..322037e 100644 --- a/tilemap.g.jres +++ b/tilemap.g.jres @@ -27,17 +27,17 @@ "tilemapTile": true, "displayName": "tile5" }, - "tile5": { - "data": "hwQQABAAAAAA8PAADw9wd/AADwDwAPB3AP//8PDwd3fwf/d/f3d3d/9/d/d/93d/cH9/93d/d3fwd3d/93d/d//393d39/d3f3d3f393d3dwf393f3/3f3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HfwAPAA8PBwdw==", + "tile6": { + "data": "hwQQABAAAAAAAAAAAAAiAAAAAAAgJCICAABQRVIkIiIAVVVCVCIi7lBVJSJEVeLiAEAlVFUlIiUAUCRUIiIi4gBAIkIiIiIuAEBEIkQiUuIAAEUiRCIiIgBVJSJSIiIuVVUiQlUiUuIAUCVUJSIi7gAAAFIiIiIuAAAAAEAiIgIAAAAAACAiAA==", "mimeType": "image/x-mkcd-f4", "tilemapTile": true, - "displayName": "cactus" + "displayName": "fire" }, - "tile6": { - "data": "hwQQABAAAAAAUCVVIlUiggBQIkUiJSKCAFVFQlIlIoJQRSRCVCIiglBEJCJEVSKCAAAkVFUlIoIAQCRUIiIiggBAIkIiIiKCAEBEIkQiUoIAAEUiRCIiggBVJSJSIiKCVVUiQlUiUoJQUiVUJSIiggBVQlIiIiKCAFBFUlUiIoIAACVEUiIigg==", + "tile5": { + "data": "hwQQABAAAAAADwAAAA8AAPAAD/DwAPBwAA//8PDwd3fwf/d3f3d3d393d/d393d/cH9/d3d3d3fwd3d/93d/d//393d39/d3f3d3f393d3dwf393d393f3B3d/d3d/d38Hd3f/f3d3fw939/d3d3dw8PDw8AD393AA8P8AAP8HAAAAAA8PAAAA==", "mimeType": "image/x-mkcd-f4", "tilemapTile": true, - "displayName": "fire" + "displayName": "cactus" }, "level2": { "id": "level2", diff --git a/tilemap.g.ts b/tilemap.g.ts index 2f53862..876dd74 100644 --- a/tilemap.g.ts +++ b/tilemap.g.ts @@ -11,9 +11,9 @@ namespace myTiles { //% fixedInstance jres blockIdentity=images._tile export const tile4 = image.ofBuffer(hex``); //% fixedInstance jres blockIdentity=images._tile - export const tile5 = image.ofBuffer(hex``); - //% fixedInstance jres blockIdentity=images._tile export const tile6 = image.ofBuffer(hex``); + //% fixedInstance jres blockIdentity=images._tile + export const tile5 = image.ofBuffer(hex``); helpers._registerFactory("tilemap", function(name: string) { switch(helpers.stringTrim(name)) { @@ -107,10 +107,10 @@ namespace myTiles { case "tile3":return tile3; case "tile5": case "tile4":return tile4; - case "cactus": - case "tile5":return tile5; case "fire": case "tile6":return tile6; + case "cactus": + case "tile5":return tile5; } return null; })