Platformer Designer

Instructions: Mobile one: https://scratch.mit.edu/projects/521475116/\nPart 2: https://scratch.mit.edu/projects/521313822/\nPart2Mobile: https://scratch.mit.edu/projects/526597287/\nPart 3: https://scratch.mit.edu/projects/539509295/\nHelp the mini "Crewmate" get back to their mom\nall levels are possible, I am sorry if its glitchy, I used a ⤵\nlot  of blocks and sprites. If it glitches i would suggest closing the tab then opening it after a minute, I will be updating this so it might restart the page I added a skip button this is not mobile there is a different one that is\nInstructions:\narrow keys to move, space button or w, a, d,\ndon't touch the imposter tongues\nyou can close and open the tool bar by pressing the "Task" button\nUse the mute and un mute buttons to toggle the music/effects \navoid the imposter don't touch them\nQ and A:\n\nQ:will you make a part 2\nA:i will make a part 2 if I get 10 loves and 5 favourites also it is done the link is at the top part 3 has also been completed and I will start working on it after a small break\n\nQ:was this hard to make\nA: Yes this was hard to make it took me 8 days to make\n\nQ: Can we advertise \nA:No please do not advertise If you want your project to become popular or if you want someone to see It add it to a Studio\n\nQ:can we use your sprites\nA:Yes you can but please give credit same thing with the code\n\nQ:why is it so buggy\nA:because this is my first platformer and i don't know how to fix it, please stop complaining in comments; I know its buggy. the teleporting is caused by the character changing sprites since its not a square, the costume change will cause it to be inside the map

@Stage\n\n@Sprite1\n\n@Player\n\ndefine Reset the setup\nset size to (80) %\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nset [idk y v] to [0]\ngo to x: (-200) y: (35)\nclear graphic effects\npoint in direction (90)\nshow\n\ndefine death\nset [idk y v] to [1]\nrepeat (25)\n    change size by (-5)\n    change [ghost v] effect by (5)\nend\nReset the setup\n\nwhen I receive [run the platformer v]\nset [level v] to [1]\n\nwhen I receive [run the platformer v]\nforever\n    if <<[235] < (x position)> and <(idk y) = [0]>> then\n        broadcast (Next level please? v)\n        change [level v] by (1)\n        Reset the setup\n    end\nend\n\nwhen I receive [run the platformer v]\nset size to (80) %\nset [idk y v] to [0]\nset [level v] to [1]\nReset the setup\nforever\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(idk y) = [0]>> then\n        change [x velocity v] by (2)\n        turn right (15) degrees\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(idk y) = [0]>> then\n        change [x velocity v] by (-2)\n        turn left (15) degrees\n    end\n    set [x velocity v] to ((X velocity) * (0.79))\n    change x by (X velocity)\n    if <touching (hitbox v)?> then\n        change y by (2)\n        if <touching (hitbox v)?> then\n            change y by (2)\n            if <touching (hitbox v)?> then\n                change y by (2)\n                if <touching (hitbox v)?> then\n                    change y by (2)\n                    if <touching (hitbox v)?> then\n                        change y by (2)\n                        if <touching (hitbox v)?> then\n                            change x by ((X velocity) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n                                if <(X velocity) > [0]> then\n                                    set [x velocity v] to [-5]\n                                else\n                                    set [x velocity v] to [5]\n                                end\n                                set [y velocity v] to [13]\n                            else\n                                set [x velocity v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y velocity v] by (-0.8)\n    change y by (Y velocity)\n    if <touching (hitbox v)?> then\n        change y by ((Y velocity) * (-1))\n        set [y velocity v] to [0]\n    end\n    change y by (-1)\n    if <touching (hitbox v)?> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n            set [y velocity v] to [12]\n        end\n    end\n    change y by (1)\n    if <<touching (danger v)?> or <touching (lava v)?>> then\n        death\n    end\n    if <(y position) < [-180]> then\n        death\n    end\nend\n\nwhen flag clicked\nbroadcast (Run the platformer v)\n\n@HITBOX\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Grahpics\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\n@LAVA\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    repeat (30)\n        change y by (0.5)\n    end\n    repeat (30)\n        change y by (-0.5)\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nhide\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.3)\nif <not <([x position v] of [alertsui v]) = [null]>> then\n    switch costume to (tb v)\n    set [ghost v] effect to (100)\n    show\n    go to [front v] layer\n    repeat (10)\n        go to [front v] layer\n        change [ghost v] effect by (-10)\n    end\nend\n\n@Cloud\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    wait (pick random (10) to (20)) seconds\nend\n\nwhen I start as a clone\nshow\ngo to x: (240) y: (pick random (30) to (90))\nset [ghost v] effect to (pick random (20) to (40))\nglide (pick random (7) to (15)) secs to x: (-240) y: (y position)\ndelete this clone\n\n@Cloud2\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    wait (pick random (5) to (15)) seconds\nend\n\nwhen I start as a clone\nshow\ngo to x: (240) y: (pick random (30) to (90))\nset [ghost v] effect to (pick random (20) to (40))\nglide (pick random (8) to (20)) secs to x: (-240) y: (y position)\ndelete this clone\n\n@Cloud3\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    wait (pick random (7) to (10)) seconds\nend\n\nwhen I start as a clone\nshow\ngo to x: (240) y: (pick random (30) to (90))\nset [ghost v] effect to (pick random (20) to (40))\nglide (pick random (20) to (30)) secs to x: (-250) y: (y position)\ndelete this clone\n\n@Sun\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    go to x: (-240) y: (0)\n    glide (120) secs to x: (0) y: (150)\n    glide (120) secs to x: (240) y: (0)\nend\n\n