Impact

This forum is read only and just serves as an archive. If you have any questions, please post them on github.com/phoboslab/impact

10 years ago by Warspawn

Here is a star field background class I made. It uses the context to draw the stars dynamically. gist

10 years ago by Terry

In your code on line 11 you forgot Entity infront of Starfield.

How can I control the density of the stars?

10 years ago by Warspawn

is the Entity prefix some sort of required naming convention that WM looks for or something? I'm new to ImpactJS and don't know.

Also when you init the starfield, the first param is starCount. So if you want more stars, that's the way. Also, I have 2 of them with different counts scrolling at different speeds on top of each other to give a more dense effect.

10 years ago by Warspawn

for those interested, I just updated the class now that I've learned a bit more about ImpactJS... now it extends BackgroundMap so that you can add them to the background array to get rendered. Still you will have to manually call update as the backgroundMaps array in game doesn't have an update normally.

for example:

// main.js
ig.module('game.main')
.requires(
    'impact.debug.debug',
    'impact.game',
    'game.starfield'
)
.defines(function() {
    SpaceBlasterGame = ig.Game.extend({
        version: '1.0',
        font: new ig.Font( 'media/04b03.font.png' ),
        init: function() {
            this.backgroundMaps.push(
                new Starfield(250, {vel: {x: 0, y: 100}}),
                new Starfield(150, {vel: {x: 0, y: 200}}),
                new Starfield(550, {vel: {x: 0, y: 20}})
            );
        },
        update: function() {
            this.parent();

            for(var i=0;i<this.backgroundMaps.length;i++) {
                if(this.backgroundMaps[i].update) {
                    this.backgroundMaps[i].update();
                }
            }
        },
        draw: function() {
            this.parent();

            this.font.draw( 'Version: ' + this.version, 8, ig.system.height - 8, ig.Font.ALIGN.LEFT );
        }
    });

    ig.main('#canvas', SpaceBlasterGame, 60, 600, 800, 1);
});

10 years ago by Joncom

Quote from Warspawn
is the Entity prefix some sort of required naming convention that WM looks for or something? I'm new to ImpactJS and don't know.

If it was an entity you were extending, then yes. The convention would be to name the entity EntityStarfield. But since it's not an entity, but rather a backgroundMap, don't worry about it.

PS - Might be cool if you had a demo up so people could see what sort of effect this achieves.
Page 1 of 1
« first « previous next › last »