Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Ah thanks!

The starfield is a single star image, added every x seconds with random scale and velocity :

package org.sturgeon.sweeper.systems

import com.badlogic.ashley.core.Entity
import com.badlogic.ashley.systems.IntervalSystem
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.math.MathUtils
import org.sturgeon.sweeper.Assets
import org.sturgeon.sweeper.components.BoundsCheckComponent
import org.sturgeon.sweeper.components.MovementComponent
import org.sturgeon.sweeper.components.PositionComponent
import org.sturgeon.sweeper.components.VisualComponent


class StarfieldSystem(var i:Float) : IntervalSystem(i) {
    
    override fun updateInterval() {
        var star = Entity()

        var t = Texture(Assets.STAR)

        var pc = PositionComponent(Assets.VIEWPORT_WIDTH+100,
                MathUtils.random(0f, Assets.VIEWPORT_HEIGHT),
                t.width.toFloat(), t.height.toFloat())

        var scale = MathUtils.random(0.1f, 1.2f)
        pc.scaleX = scale
        pc.scaleY = scale

        star.add(pc)

        star.add(VisualComponent(t, 0))
        star.add(MovementComponent(MathUtils.random(-300f, -100f), 0f))
        star.add(BoundsCheckComponent())

        engine.addEntity(star)
    }
}