Sunshine Dimension 4 - A platformer - A collab with Blixer2 #All #Art #Games #Music #Trending

Instructions: No ads here!\nIf it's laggy, play here! \nhttps://turbowarp.org/592943798\nPart 1: https://scratch.mit.edu/projects/583136958/\nPart 2: https://scratch.mit.edu/projects/584488285/\nPart 3: https://scratch.mit.edu/projects/590633016/\nSpam the flag xD\nWASD or arrows to move\nIf you are on mobile, just simply tap the screen!\nThanks for playing!\n#11 Trending Games! Ty!\n#14 Trending All! Ty!\n16k+ views!\n20k+ views! Top Loved! ^^ Thank You A lot!

@Stage\n\nwhen flag clicked\nforever\n    if <(pick random (1) to (3)) = [1]> then\n        play sound [Tobu & Itro - Sunburst \[NCS Release\].mp3 v] until done\n    end\n    if <(pick random (1) to (3)) = [2]> then\n        play sound [Time Lapse v] until done\n    end\n    if <(pick random (1) to (3)) = [3]> then\n        play sound [TheFatRat - Prelude v] until done\n    end\nend\n\n@Player\n\nwhen I start as a clone\nrepeat (7)\n    switch costume to (player v)\n    change size by (-3)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nset [level v] to [1]\nset [x v] to [0]\nset [y v] to [0]\ngo to [front v] layer\nshow\nset size to (45) %\nswitch costume to (player v)\ngo to x: (-190) y: (-50)\nset drag mode [not draggable v]\npoint in direction (90)\nforever\n    create clone of (_myself_ v)\n    set rotation style [left-right v]\n    if <<<mouse down?> and <(x position) > (mouse x)>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        create clone of (_myself_ v)\n        change [x v] by (-1)\n    end\n    if <<<mouse down?> and <(x position) < (mouse x)>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n        create clone of (_myself_ v)\n        change [x v] by (1)\n    end\n    if <<<<(y position) < (mouse y)> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <<<(x position) < (mouse x)> and <mouse down?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>>> then\n        create clone of (_myself_ v)\n    end\n    if <<<<(y position) < (mouse y)> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <<<(mouse x) < (x position)> and <mouse down?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>>> then\n        create clone of (_myself_ v)\n    end\n    set [x v] to ((X) * (0.9))\n    change x by (X)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change x by ((X) * (-1))\n                            change y by (-5)\n                            if <<<mouse down?> and <(y position) < (mouse y)>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n                                if <(X) > [0]> then\n                                    set [x v] to [-7]\n                                else\n                                    set [x v] to [7]\n                                end\n                                set [y v] to [14]\n                            else\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<<mouse down?> and <(y position) < (mouse y)>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n            set [y v] to [13]\n            point in direction ((Y) * (0.5))\n        end\n    end\n    change y by (1)\n    change [y v] by (-1)\n    change y by (Y)\n    if <touching (ground v)?> then\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    hide variable [x v]\n    if <<(x position) > [230]> and <not <(Level) = [17]>>> then\n        broadcast (next level v)\n        change [level v] by (1)\n        go to x: (-190) y: (0)\n        set size to (45) %\n    end\n    if <<(y position) < [-170]> or <<touching (saw v)?> or <<touching (lava v)?> or <touching (spikes v)?>>>> then\n        start sound [Crunch v]\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        clear graphic effects\n        set size to (45) %\n        go to x: (-190) y: (-50)\n    end\n    if <touching (water v)?> then\n        go [forward v] (1) layers\n        set [y v] to [-1]\n        if <<<mouse down?> and <(y position) < (mouse y)>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n            change [y v] by (5)\n        end\n        if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n            change [y v] by (-5)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (sprite1 v)?> then\n        set [y v] to [17]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#00ff2c)?> then\n        set size to (20) %\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-190) y: (-50)\nset size to (45) %\n\nwhen [timer v] > (0)\nhide\n\n@ground\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Spikes\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    if <<(Level) = [2]> or <<<(Level) = [4]> or <<<(Level) = [6]> or <<<(Level) = [9]> or <<<(Level) = [11]> or <<<(Level) = [13]> or <<<(Level) = [15]> or <(Level) = [16]>> or <(Level) = [14]>>> or <(Level) = [12]>>> or <(Level) = [10]>>> or <(Level) = [7]>>> or <(Level) = [5]>>> or <(Level) = [3]>>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    switch costume to ((Level) - (1))\nend\n\n@Saw\n\nwhen flag clicked\nforever\n    if <<(Level) = [4]> or <<(Level) = [9]> or <(Level) = [7]>>> then\n        go to [back v] layer\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [4]> then\n        go to x: (-160) y: (47)\n    end\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    turn right (3) degrees\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [7]> then\n        go to x: (136) y: (88)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [9]> then\n        go to x: (31) y: (-41)\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        set size to (70) %\n        switch costume to (costume1 v)\n        repeat (5)\n            next costume\n        end\n        repeat (5)\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <<(Level) = [9]> or <(Level) = [15]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Lava\n\nwhen flag clicked\nforever\n    if <<(Level) = [9]> or <<<(Level) = [12]> or <(Level) = [15]>> or <(Level) = [10]>>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        switch costume to (lava2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [9]> then\n        switch costume to (lava v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [12]> then\n        switch costume to (lava v)\n    end\nend\n\n@Water\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    if <<(Level) = [11]> or <[] = [1]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Snowflakes by @ceebee\n\nwhen flag clicked\nhide\nwait (0.1) seconds\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\ngo to x: (pick random (-220) to (220)) y: (180)\nswitch costume to (pick random (1) to (8))\nset size to (10) %\nset [ghost v] effect to (25)\nset [x-vel v] to (pick random (-4) to (4))\nset [y-vel v] to (pick random (-3) to (-6))\nset [movement v] to (pick random (1) to (4))\nset [turn v] to (pick random (3) to (15))\nif <(snow flake size) = [1]> then\n    repeat until <(y position) < [-175]>\n        set size to (155) %\n        set [x-vel v] to ((X-vel) * (0.45))\n        change x by (X-vel)\n        move (movement) steps\n        turn left (turn) degrees\n        change y by (Y-vel)\n    end\nelse\n    repeat until <(y position) < [-175]>\n        set size to (5) %\n        set [x-vel v] to ((X-vel) * (0.45))\n        change x by (X-vel)\n        move (movement) steps\n        turn left (turn) degrees\n        change y by (Y-vel)\n    end\nend\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <touching (_edge_ v)?> then\n        if <[180] < (x position)> then\n            change x by (-470)\n        else\n            change x by (470)\n        end\n    end\nend\n\n@Small\n\nwhen flag clicked\nforever\n    if <(Level) = [16]> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Sprite3\n\nwhen flag clicked\nforever\n    if <(Level) = [17]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((100) - (size)) / (3))\n    else\n        change size by (((90) - (size)) / (3))\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nshow\nrepeat until <(Level) = [17]>\n    if <touching (mouse-pointer v)?> then\n        change size by (((110) - (size)) / (3))\n        if <mouse down?> then\n            change [level v] by (1)\n            broadcast (next level v)\n            wait until <not <mouse down?>>\n        end\n    else\n        change size by (((100) - (size)) / (3))\n    end\nend\nhide\n\n@Sprite5\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (100)\nforever\n    reset timer\nend\n\n