2020.11.11 05:43 jak w meowbicie usuwać sprite'y, które wyszły za ekran

Jeśli będziecie kiedyś programować meowbita (https://meowbit.kittenbot.cc/) przy użyciu arcade makecode (https://arcade.makecode.com/) używając tutoriala "galga" (jest tam u nich na stronie, na https://meowbit.kittenbot.cc/) (podejrzewam, że ten problem dotyczy też innych tutoriali), to pewnie zauważycie, że jak się gra w taką grę na meowbicie, to najpierw wszystko jest dobrze, a potem gra zaczyna zwalniać i chodzi coraz gorzej. Problem można zdiagnozować wciskając przycisk, który na rysunku https://meowbit.kittenbot.cc/#/README?id=resources jest oznaczony numerem 6 (czyli "DFU mode button(use for toggle firmware or for Bring up the menu in Makecode Arcade mode)"), tam w menu włączając "show stats" i grając w grę oglądając statystyki. Zobaczysz wtedy, żę ilość sprite'ów ciągle rośnie, a fps maleje. To dlatego, że w tym tutorialu każą ciągle tworzyć sprite'y typu enemy, a nigdy ich nie niszczą. Ten problem można rozwiązać dodając do programu kawałek kodu, który co pewien czas będzie niszczył ten enemisy, które wychodzą za ekran. W javaskrypcie robi się to tak:
game.onUpdateInterval(100, function () {
    wrogowie = sprites.allOfKind(SpriteKind.Enemy)
    for (let wrog of wrogowie) {
        if (wrog.x < 20) {
            wrog.destroy()
        }
    }
})

a blokami robi się to tak:


komentarze:
2020.11.13 04:44 P.

E, da się prościej. Na przykład ustawić sprite'owi flagę "auto destroy": https://arcade.makecode.com/reference/sprites/sprite/set-flag. Albo ustawić sprite'owi lifespan: https://arcade.makecode.com/reference/sprites/sprite/lifespan



ksywa:

tu wpisz cyfrę cztery: (to takie zabezpieczenie antyspamowe)

komentarze wulgarne albo co mi się nie spodobają będę kasował


powrot na strone glowna

RSS