Platformer v.0.1.0

Instructions: v0.1.0\n- Extended platform layer\n- Modified hitboxes\n- Changed paralax perspective\n- Added assets 1 (only controls box works)\nThanks for making it easy to update! :)\n\nBugs:\n- The player is on front of foreground layer\n- The foreground layer is behind the front_platform layer

@Stage\n\n@Player\n\nwhen flag clicked\nset y to (0)\nset [last  key press v] to [0]\nset [direction v] to [0]\nset [yv v] to [0]\nset [xv v] to [0]\nset [x shift v] to [-140]\nset [scroll x v] to [140]\nforever\n    set x to (x shift)\n    movement script\n    change [scroll x v] by (() - ((x position) - (x shift)))\n    if <(x shift) < [0]> then\n        set [x shift v] to (x position)\n    else\n        if <[0] < (scroll x)> then\n            set [x shift v] to (() - (scroll x))\n        else\n            if <(scroll x) < [0]> then\n                set [x shift v] to [0]\n            end\n        end\n    end\n    set x to (x shift)\nend\n\ndefine movement script\nchange y by (1)\nif <<(text#) = [0]> or <(letter (length of (text#)) of (text#)) = [_]>> then\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> and <(direction) = [1]>> then\n        set [last  key press v] to [left]\n    else\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            set [last  key press v] to [right]\n        else\n            if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                set [last  key press v] to [left]\n            end\n        end\n    end\n    if <(delay) < [1]> then\n        if <<(last  key press) = [left]> and <(direction) = [1]>> then\n            set [direction v] to [-1]\n            set [delay v] to [20]\n        else\n            if <(last  key press) = [right]> then\n                set [direction v] to [1]\n                set [delay v] to [20]\n            end\n        end\n    end\n    change [xv v] by ((direction) * (0.8))\nend\nset [xv v] to ((Xv) * (0.8))\nchange x by (Xv)\nif <touching (hitbox v)?> then\n    repeat (10)\n        if <touching (hitbox v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (hitbox v)?> then\n        change y by (-10)\n        change x by (() - (Xv))\n    end\nend\nchange y by (-1)\nchange [delay v] by (-1)\nchange y by (Yv)\nchange [yv v] by (-1)\nif <touching (hitbox v)?> then\n    set [yv v] to [0]\n    repeat until <not <touching (hitbox v)?>>\n        change y by (1)\n    end\nend\nrepeat (5)\n    if <not <touching (hitbox v)?>> then\n        change y by (-1)\n    end\nend\nif <not <touching (hitbox v)?>> then\n    change y by (5)\nend\n\nwhen I receive [player front v]\ngo to [front v] layer\n\nset [yv v] to [0]\nset y to (0)\n\nwhen [b v] key pressed\nset [last  key press v] to [0]\nset [direction v] to [0]\n\n@Platform\n\nwhen flag clicked\nshow\nclone layer name: [cloud layer 1] layer number: [12]\nclone layer name: [cloud layer 2] layer number: [11]\nclone layer name: [back layer 3] layer number: [9]\nclone layer name: [back layer 2] layer number: [7]\nclone layer name: [back layer 1] layer number: [5]\nclone layer name: [platforms] layer number: [2]\nclone layer name: [front_platforms] layer number: [2]\nclone layer name: [foreground 3] layer number: [1.5]\nclone layer name: [foreground 2] layer number: [1.5]\nclone layer name: [foreground] layer number: [1.3]\nhide\nbroadcast (start hitboxes v)\nbroadcast (player front v)\nbroadcast (water v)\nbroadcast (start non-scrolling v)\n\ndefine clone layer name: (name) layer number: (number)\nswitch costume to (join (name) [ 1])\nset [layer number v] to (number)\nset [layer v] to (name)\nset [clone# v] to [1]\nrepeat until <not <(costume [name v]) = (join (name) (join [ ] (clone#)))>>\n    create clone of (_myself_ v)\n    next costume\n    change [clone# v] by (1)\nend\n\nwhen I start as a clone\nforever\n    switch costume to (tiny v)\n    set size to (1000) %\n    switch costume to (full v)\n    if <(layer) = [foreground 2]> then\n        go to x: (((((((clone#) - (1)) * (480)) + (((scroll x) + (x shift)) / ((layer number) / (2)))) - ((timer) * (20))) mod (960)) - (480)) y: (([cos v] of ((timer) * (100)) ) * (3))\n    else\n        if <[infinite layers v] contains (layer)?> then\n            go to x: ((((((clone#) - (1)) * (480)) + (((scroll x) + (x shift)) / ((layer number) / (2)))) mod (960)) - (480)) y: (0)\n        else\n            go to x: ((((clone#) - (1)) * (480)) + (((scroll x) + (x shift)) / ((layer number) / (2)))) y: (0)\n        end\n    end\n    set size to (100) %\n    switch costume to (join (layer) (join [ ] (clone#)))\nend\n\nwhen I receive [water v]\nif <<(layer) = [foreground 2]> or <(layer) = [front_platforms]>> then\n    go to [front v] layer\nend\n\n@Hitbox\n\nwhen I receive [start hitboxes v]\nset [ghost v] effect to (100)\nforever\n    go to x: (((((scroll x) + (x shift)) - (240)) mod (480)) - (240)) y: (0)\n    switch costume to ([ceiling v] of ((((scroll x) + (x shift)) / (-480)) + (0.5)) )\nend\n\nwhen [space v] key pressed\nclear graphic effects\ngo to [front v] layer\n\n@Material\n\nwhen I receive [start non-scrolling v]\ngo to [front v] layer\n\nwhen flag clicked\nswitch costume to (dock s v)\nhide\n\n@Lives\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [lives v] to [4]\nswitch costume to (lives v)\ncreate clone of (_myself_ v)\nswitch costume to (4 v)\ncreate clone of (_myself_ v)\n\nwhen I receive [start non-scrolling v]\ngo to [front v] layer\n\nwhen I start as a clone\nshow\nif <(costume [name v]) = [4]> then\n    forever\n        go to x: (-170) y: (150)\n        switch costume to (Lives)\n        set size to (94) %\n    end\nend\n\n@Controls\n\nwhen I receive [start non-scrolling v]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nwait until <<key (right arrow v) pressed?> or <key (d v) pressed?>>\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nclear graphic effects\n\n@Signs\n\nwhen I start as a clone\nforever\n    set size to (200) %\n    go to x: ((my x) + ((scroll x) + (x shift))) y: (my y)\n    set size to (100) %\n    if <touching (player v)?> then\n        if <(text#) = [0]> then\n            set [text# v] to (sign #)\n        end\n        set [sign x v] to (my x)\n        set [sign y v] to (my y)\n        if <<(z pressed?) = [false]> and <key (z v) pressed?>> then\n            set [text# v] to (join (sign #) [_])\n        end\n    else\n        if <<(text#) = (sign #)> or <(text#) = (join (sign #) [_])>> then\n            set [text# v] to [0]\n        end\n    end\n    set [z pressed? v] to <key (z v) pressed?>\nend\n\ndefine clone\nclone [300] [-90] [1]\n\ndefine clone (xpos) (ypos) (sign number)\nset [my x v] to (xpos)\nset [my y v] to (ypos)\nset [sign # v] to (sign number)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\ngo to [front v] layer\nshow\nclone\nhide\n\nset [z pressed? v] to [0]\n\n@Text Box\n\nwhen I receive [start hitboxes v]\ngo to [front v] layer\nset [text# v] to [0]\nset [ghost v] effect to (100)\nforever\n    go to x: ((sign x) + ((scroll x) + (x shift))) y: ((sign y) + (25))\n    switch costume to (text#)\n    if <<(text#) = [0]> or <(letter (length of (text#)) of (text#)) = [_]>> then\n        change size by ((size) / (-4))\n        change [ghost v] effect by (5)\n    else\n        change [ghost v] effect by (-20)\n        change size by (((size) - (100)) / (-3))\n        change [ghost v] effect by (-10)\n        change [ghost v] effect by (20)\n    end\nend\n\n@Sign Text\n\nwhen I receive [player front v]\ngo to [front v] layer\nset size to (100) %\nset [text# v] to [0]\nset [ghost v] effect to (100)\nforever\n    go to x: ((sign x) + ((scroll x) + (x shift))) y: ((sign y) + ((+y) + (10)))\n    switch costume to (text#)\n    if <<(text#) = [0]> or <(letter (length of (text#)) of (text#)) = [_]>> then\n        change [ghost v] effect by (20)\n        change [+y v] by ((+y) / (-5))\n    else\n        change [ghost v] effect by (-10)\n        change [+y v] by (((15) - (+y)) / (5))\n    end\nend\n\n@Animation\n\n@Animation2\n\nwhen flag clicked\n\nwhen I start as a clone\nshow\nforever\n    if < (costume [name v]) contains [fall]?> then\n        next costume\n        wait (0.1) seconds\n        next costume\n        wait (0.1) seconds\n        switch costume to ((costume [number v]) - (2))\n        wait (0.1) seconds\n    end\nend\n\ngo to x: (45) y: (-73)\nhide\nswitch costume to (waterbase v)\ncreate clone of (_myself_ v)\nswitch costume to (waterfall 1-1 v)\ncreate clone of (_myself_ v)\nswitch costume to (waterfall 2-1 v)\ncreate clone of (_myself_ v)\n\n