✨ A-Spec - Asexual + Aromantic | Platformer ✨ LGBTQ+ Platformer ❥ Pride Platformer [mobile friendly]

Instructions: –––––––––––– English ––––––––––––\n\n✨ A-Spec - Asexual + Aromantic | Platformer\n\nA bilingual, mobile friendly LGBTQ+ platformer \n  ↬ by @scratcheule_AVSome\n\nHey there! :)\nFinally, the 10th day of pride month 2023, it's been published - an informative platformer educating about the a-spec, including the orientations asexual and aromantic!\nI hope you'll enjoy playing and learning about the LGBTQ+ community :)\nBe proud!\n\n┊⠀⠀⠀┊⠀⠀⠀┊⠀⠀⠀┊\n┊⠀⠀⠀┊⠀⠀⠀┊⠀⠀⠀✦･ﾟ\n┊⠀⠀⠀┊⠀⠀⠀ ✦･ﾟ\n┊⠀⠀⠀✦･ﾟ\n✦･ﾟ\n\n♥️ It's Pride Month 2023! ♥️\nWanna celebrate together with the LGBTQ+ community? Then check out these studios! \nhttps://scratch.mit.edu/studios/33450604/\nhttps://scratch.mit.edu/studios/33350506\n\n➥ Do you like this platformer? Then you might also like these! By me as well and mostly related to diversity :) \n  • M-Spec Platformer -pan, omni, poly, bi + more! \nhttps://scratch.mit.edu/projects/721109110/\n  • Mickey's Platformers - all my platformers! \nhttps://scratch.mit.edu/studios/31961099/\n\n➥ Instructions:\n  • [ARROW] or [WAD] keys or finger/mouse\n  • Avoid queerphobia (lava and spikes) \n  • [S] key or skip button to skip a level\n  • [R] key or reset button to reset a level \n  • [M] key or sound button to mute/unmute\n  All levels are possible! \n  (Fullscreen recommended for better quality)\n\n➥ Advertising is allowed IF: \n  • the project/studio is LGBTQ+ related, \n  • the project/studio (and your comment) follows the Scratch Community Guidelines and if\n  • you comment only once and don't spam.\n\n➥ Credits: \n  @scratcheule_AVSome (me) for idea, design, content, buttons, language selection, changes, fixing... \n  @GraphicFox for the mobile friendly engine\n  @-SapphireDemon- for the player's face movement\n  @Crystollo for the bg effect I edited \n  @timo1os for trampolines\n  @shimon123 for the player's rainbow light I edited\n  • Player inspired by @chooz-eets B)\n  • Music: Crush Culture by Conan Gray\n  ↬ discovered in Aroace Playlist by @RandomBlob https://scratch.mit.edu/projects/727946943 \n  and backpacked from https://scratch.mit.edu/projects/621432762/ \n  • Some backgrounds blurred with: https://www.befunky.com/create/blur-image/ (the others with a trick ;)) \n\n➥ Sources - also images/illustrations:\n  • In project! (sprite called "Sources/Quellen") \n\n➥ Worth being checked out: \n  • Nice A-Spec studios: \nhttps://scratch.mit.edu/studios/31663073/\nhttps://scratch.mit.edu/studios/28261851/\n  • Some epic A-Spec scratchers: \n@AroAce_PrideVX\n@1-o-v-e\n@chooz-eets\n@l_on_l_l_off_l\n@\n... and @scratcheule_AVSome (me) ;) /j\n\n➥ Notes/suggestions/ideas - I'm open for them! (Please remember giving a constructive feedback that follows the Scratch Community Guidelines.) \n  • ability to turn particle effect on/off\n\n➥ Milestones:\n  • Published: 6/10/23\n  • 100+ views: 7/10/23\n  • 7/10/23: #5 in German Trends\n  • 200+ views. 7/12/23\n  • 50+ hearts: 7/12/23\n  • 7/12/23: #2 in German Trends\n  • 500+ views: 7/14/23\n  • 50+ stars: 7/15/23\n  • 100+ hearts: 7/22/23\n  • 1000+ views: 7/29/23\n\n➥ Hashtags (only a few):\n#scratcheule_AVSome #Asexual #Aromantic #A-Spec #Ace #Aro #AroAce #Agender #Ace-Spec #Aro-Spec \n#Aplatonic #Demisexual #Demiromantic #Greysexual #Greyromantic #AngledAroAce #Angled #Oriented #OrientedAroAce #Aroallo #Alloace #Amid #Acemid #Aromid #Apothisexual #Apothiromantic #Aceflux #Aroflux #AroAceflux #Acespike #Cupiosexual #Cupioromantic #Orchidsexual #Orchidromantic #Aegosexual #Aegoromantic #Lithsexual #Lithromantic #Akoisexual #Akoiromantic #Unisexual #Uniromantic #Soloamare #Autiasexual #Autiaromantic #Autiace #Autiaro #Acevague #Arovague #Myrsexual #Myrromantic #Tertiary #Attraction #TertiaryAttraction #LGBTQ+ #LGBTQIA+ #LGBT+ #Queer #Gay #Pride #Valid #Platformer #LGBTQPlatformer #Informative #InformativePlatformer #Educational #EducationalPlatformer #Bilingual #BilingualPlatformer #Multilingual #MultilingualPlatformer #English #German #Denmark #Meme #Dragons #Dragon #GarlicBread #Garlic #Bread #Cake #Cakes #Ring #Rings #Black #White #Cardgame #Card #Game\n\nI said it's just a few. \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;)

@Stage\n\nwhen flag clicked\nswitch backdrop to (a-spec v)\nforever\n    if <(level) = [3]> then\n        switch backdrop to (ace v)\n    else\n        if <(level) = [5]> then\n            switch backdrop to (aro v)\n        else\n            if <(level) = [6]> then\n                switch backdrop to (a-spec v)\n            else\n                if <(level) = [7]> then\n                    switch backdrop to (other v)\n                else\n                    if <(level) = [8]> then\n                        switch backdrop to (agender  v)\n                    else\n                        if <(level) = [9]> then\n                            switch backdrop to (symbols 1 v)\n                        else\n                            if <(level) = [10]> then\n                                switch backdrop to (symbols 2 v)\n                            else\n                                if <(level) = [11]> then\n                                    switch backdrop to (symbols 3 v)\n                                else\n                                    if <(level) = [12]> then\n                                        switch backdrop to (demi & fray v)\n                                    else\n                                        if <(level) = [13]> then\n                                            switch backdrop to (grey v)\n                                        else\n                                            if <(level) = [14]> then\n                                                switch backdrop to (aro/ace spec v)\n                                            else\n                                                if <(level) = [15]> then\n                                                    switch backdrop to (aroace v)\n                                                else\n                                                    if <(level) = [16]> then\n                                                        switch backdrop to (angled aroace v)\n                                                    else\n                                                        if <(level) = [17]> then\n                                                            switch backdrop to (oriented aroace v)\n                                                        else\n                                                            if <(level) = [18]> then\n                                                                switch backdrop to (amid v)\n                                                            else\n                                                                if <(level) = [19]> then\n                                                                    switch backdrop to (allo aro/ace v)\n                                                                else\n                                                                    if <(level) = [20]> then\n                                                                        switch backdrop to (apothi v)\n                                                                    else\n                                                                        if <(level) = [21]> then\n                                                                            switch backdrop to (a-spec v)\n                                                                        else\n                                                                            if <(level) = [22]> then\n                                                                                switch backdrop to (flux v)\n                                                                            else\n                                                                                if <(level) = [23]> then\n                                                                                    switch backdrop to (spike v)\n                                                                                else\n                                                                                    if <(level) = [24]> then\n                                                                                        switch backdrop to (cupio & orchid v)\n                                                                                    else\n                                                                                        if <(level) = [25]> then\n                                                                                            switch backdrop to (aego v)\n                                                                                        else\n                                                                                            if <(level) = [26]> then\n                                                                                                switch backdrop to (lith v)\n                                                                                            else\n                                                                                                if <(level) = [27]> then\n                                                                                                    switch backdrop to (uni & solo v)\n                                                                                                else\n                                                                                                    if <(level) = [28]> then\n                                                                                                        switch backdrop to (vague & auti v)\n                                                                                                    else\n                                                                                                        if <(level) = [29]> then\n                                                                                                            switch backdrop to (myr v)\n                                                                                                        else\n                                                                                                            if <(level) = [30]> then\n                                                                                                                switch backdrop to (a-spec v)\n                                                                                                            end\n                                                                                                        end\n                                                                                                    end\n                                                                                                end\n                                                                                            end\n                                                                                        end\n                                                                                    end\n                                                                                end\n                                                                            end\n                                                                        end\n                                                                    end\n                                                                end\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@Sources/Quellen\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (0)\ngo to [front v] layer\nshow variable [level v]\nrepeat (20)\n    change [ghost v] effect by (5)\nend\n\n@Text\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen I receive [next level! v]\nset [ghost v] effect to (100)\nnext costume\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen I receive [english v]\nbroadcast (1st v)\n\nwhen I receive [german v]\nbroadcast (1. v)\n\nwhen I receive [next level! v]\nbroadcast (language \(hide\) v)\n\nwhen I receive [1. v]\nset [ghost v] effect to (100)\nswitch costume to (costume31 v)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen I receive [1st v]\nset [ghost v] effect to (100)\nswitch costume to (costume2 v)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen I receive [1. v]\nbroadcast (language \(hide\) v)\n\nwhen I receive [1st v]\nbroadcast (language \(hide\) v)\n\n@Palette\n\n@Platform\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <(level) = [14]> then\n        broadcast (Cave Time! v)\n    end\n    if <(level) = [19]> then\n        broadcast (End of cave! v)\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nshow\n\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nshow\nforever\n    if <(costume [number v]) = [2]> then\n        set [level v] to [2]\n    end\n    if <(costume [number v]) = [3]> then\n        set [level v] to [3]\n    end\n    if <(costume [number v]) = [4]> then\n        set [level v] to [4]\n    end\n    if <(costume [number v]) = [5]> then\n        set [level v] to [5]\n    end\n    if <(costume [number v]) = [6]> then\n        set [level v] to [6]\n    end\n    if <(costume [number v]) = [7]> then\n        set [level v] to [7]\n    end\n    if <(costume [number v]) = [8]> then\n        set [level v] to [8]\n    end\n    if <(costume [number v]) = [9]> then\n        set [level v] to [9]\n    end\n    if <(costume [number v]) = [10]> then\n        set [level v] to [10]\n    end\n    if <(costume [number v]) = [11]> then\n        set [level v] to [11]\n    end\n    if <(costume [number v]) = [12]> then\n        set [level v] to [12]\n    end\n    if <(costume [number v]) = [13]> then\n        set [level v] to [13]\n    end\n    if <(costume [number v]) = [14]> then\n        set [level v] to [14]\n    end\n    if <(costume [number v]) = [15]> then\n        set [level v] to [15]\n    end\n    if <(costume [number v]) = [16]> then\n        set [level v] to [16]\n    end\n    if <(costume [number v]) = [17]> then\n        set [level v] to [17]\n    end\n    if <(costume [number v]) = [18]> then\n        set [level v] to [18]\n    end\n    if <(costume [number v]) = [19]> then\n        set [level v] to [19]\n    end\n    if <(costume [number v]) = [20]> then\n        set [level v] to [20]\n    end\n    if <(costume [number v]) = [21]> then\n        set [level v] to [21]\n    end\n    if <(costume [number v]) = [22]> then\n        set [level v] to [22]\n    end\n    if <(costume [number v]) = [23]> then\n        set [level v] to [23]\n    end\n    if <(costume [number v]) = [24]> then\n        set [level v] to [24]\n    end\n    if <(costume [number v]) = [25]> then\n        set [level v] to [25]\n    end\n    if <(costume [number v]) = [26]> then\n        set [level v] to [26]\n    end\n    if <(costume [number v]) = [27]> then\n        set [level v] to [27]\n    end\n    if <(costume [number v]) = [28]> then\n        set [level v] to [28]\n    end\n    if <(costume [number v]) = [29]> then\n        set [level v] to [29]\n    end\n    if <(costume [number v]) = [30]> then\n        set [level v] to [30]\n    end\n    if <(costume [number v]) = [31]> then\n        set [level v] to [31]\n    end\n    if <(costume [number v]) = [32]> then\n        set [level v] to [32]\n    end\n    if <(costume [number v]) = [1]> then\n        set [level v] to [1]\n    end\nend\n\nwhen I receive [1. v]\nnext costume\n\nwhen I receive [1st v]\nnext costume\n\nwhen I receive [next level! v]\nnext costume\n\n@English\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen this sprite clicked\nbroadcast (English v)\n\nwhen I receive [language \(hide\) v]\nhide\n\n@German\n\nwhen this sprite clicked\nbroadcast (German v)\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [language \(hide\) v]\nhide\n\n@player\n\nwhen flag clicked\nhide\n\ndefine reset\nset [ghost v] effect to (0)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [ghost v] effect to (0)\ngo to x: (-200) y: (-100)\n\nwhen flag clicked\ngo to x: (-200) y: (-100)\nswitch costume to (center v)\nshow\nset [level v] to [1]\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [10]>>> then\n        change [xv v] by (1)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [-10]>>> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching (platform v)?> then\n        change y by (1)\n        if <touching (platform v)?> then\n            change y by (1)\n            if <touching (platform v)?> then\n                change y by (1)\n                if <touching (platform v)?> then\n                    change y by (1)\n                    if <touching (platform v)?> then\n                        change y by (1)\n                        if <touching (platform v)?> then\n                            change x by ((Xv) * (-1))\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [12]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <touching (platform v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (platform v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [yv v] to [12]\n        end\n    end\n    if <touching (trampoline! v)?> then\n        set [yv v] to [20]\n    end\n    change y by (1)\n    if <key (r v) pressed?> then\n        reset\n    end\n    if <<(y position) < [-177]> or <touching (spikes v)?>> then\n        start sound [Death v]\n        reset\n    end\n    if  then\n        start sound [Death v]\n        reset\n    end\n    if <(x position) > [230]> then\n        change [level v] by (1)\n        broadcast (Next level! v)\n        another reset\n    end\nend\n\nwhen flag clicked\nshow\nset [ghost v] effect to (0)\nforever\n    if <<not <key (up arrow v) pressed?>> and <<not <key (right arrow v) pressed?>> and <not >>> then\n        switch costume to (center v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        switch costume to (over right  v)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        switch costume to (over left v)\n    end\nend\n\nwhen I receive [reset v]\nreset\nswitch costume to (center v)\nshow\n\ndefine another reset\ngo to x: (-200) y: (-100)\n\nwhen I receive [next level! v]\nreset\n\nwhen I receive [english v]\nbroadcast (reset v)\n\nwhen I receive [german v]\nbroadcast (reset v)\n\n@Light\n\nwhen flag clicked\nhide\nset size to (100) %\nset [ghost v] effect to (50)\nforever\n    broadcast (go v)\nend\n\nwhen I receive [go v]\ngo to (player v)\n\nwhen flag clicked\nshow\ngo [backward v] (100) layers\nswitch costume to (costume2 v)\nforever\n    wait (pick random (0.5) to (3)) seconds\n    repeat (10)\n        change [ghost v] effect by (1)\n    end\n    repeat (10)\n        change [ghost v] effect by (-1)\n    end\n    set [ghost v] effect to (50)\nend\n\n@Lava\n\nswitch costume to (level)\n\nwhen I receive [1. v]\nnext costume\n\nwhen I receive [1st v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nforever\n    glide (1) secs to x: (0) y: (0)\n    glide (0.7) secs to x: (0) y: (-20)\nend\n\nwhen I receive [next level! v]\nnext costume\n\n@Spikes\n\nforever\n    switch costume to (level)\nend\n\nwhen I receive [1. v]\nnext costume\n\nwhen I receive [1st v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\ngo to x: (0) y: (0)\n\nwhen I receive [next level! v]\nnext costume\n\n@trampoline!\n\nwhen I receive [next level! v]\ndelete this clone\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        switch costume to (1 v)\n        repeat (3)\n            next costume\n            wait (0.001) seconds\n        end\n        repeat (3)\n            switch costume to ((costume [number v]) - (1))\n            wait (0.001) seconds\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) < [4]> then\n        hide\n    else\n        if <(level) = [17]> then\n            show\n            go to x: (-45) y: (-65)\n        else\n            if <(level) = [18]> then\n                hide\n            else\n                if <(level) = [19]> then\n                    show\n                    go to x: (-99) y: (-65)\n                else\n                    if <(level) = [20]> then\n                        hide\n                    else\n                        if <(level) = [29]> then\n                            go to x: (-145) y: (-68)\n                            show\n                        end\n                        if <(level) = [30]> then\n                            hide\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@Bg Effect part 1\n\nwhen I start as a clone\ngo to [back v] layer\npoint in direction (pick random (40) to (360))\nset [ghost v] effect to (pick random (1) to (10))\nset size to (pick random (1.01) to (50.01)) %\nset [ghost v] effect to (pick random (1) to (100))\nset [color v] effect to (0)\nswitch costume to (pick random (1) to (7))\ngo to x: (500) y: (pick random (-125) to (180))\nglide (pick random (3.01) to (6.01)) secs to x: (Xpo) y: (Ypo)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\npoint in direction (90)\nforever\n    create clone of (_myself_ v)\nend\n\n@Bg Effect part 2\n\nwhen flag clicked\nforever\n    go to x: (-250) y: (pick random (250) to (-250))\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    set [xpo v] to (x position)\n    set [ypo v] to (y position)\nend\n\n@Dragon\n\nwhen flag clicked\ngo to [back v] layer\nhide\nforever\n    if <(level) = [11]> then\n        go to [back v] layer\n        show\n        go to x: (120) y: (-168)\n        glide (2.5) secs to x: (-175) y: (225)\n        hide\n        forever\n            hide\n        end\n    end\nend\n\n@Heart\n\nwhen flag clicked\nhide\nforever\n    if <(level) = [21]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nsay [Be yourself <3 / Sei Du selbst <3] for (3) seconds\n\n@settings\n\nwhen flag clicked\nset [settings v] to [closed]\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        set [settings v] to [open]\n        broadcast (show buttons v)\n        wait (3) seconds\n        set [settings v] to [closed]\n    else\n        set [ghost v] effect to (40)\n    end\nend\n\n@Skip\n\nwhen this sprite clicked\nbroadcast (Next level! v)\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <key (s v) pressed?> then\n        wait until <not <key (s v) pressed?>>\n        broadcast (Next level! v)\n    end\n    if <(level) = [30]> then\n        hide\n    end\nend\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\nshow\nforever\n    if <(settings) = [open]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (0)\n        else\n            set [ghost v] effect to (40)\n        end\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\n@Reset\n\nwhen this sprite clicked\nbroadcast (reset v)\n\nwhen flag clicked\nshow\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\nshow\nforever\n    if <(settings) = [open]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (0)\n        else\n            set [ghost v] effect to (40)\n        end\n    else\n        set [ghost v] effect to (100)\n    end\n    if <(level) = [30]> then\n        hide\n    end\nend\n\n@Sound\n\nwhen flag clicked\nforever\n    wait (2.5) seconds\n    play sound [Conan Gray - Crush Culture v] until done\nend\n\nwhen this sprite clicked\nnext costume\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\nforever\n    if <(costume [number v]) = [1]> then\n        set volume to (25) %\n    else\n        set volume to (0) %\n    end\n    if <key (m v) pressed?> then\n        wait until <not <key (m v) pressed?>>\n        next costume\n    end\nend\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\nshow\nforever\n    if <(settings) = [open]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (0)\n        else\n            set [ghost v] effect to (40)\n        end\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\n