Ejemplo n.º 1
0
var sprite2rotarray=exports.sprite2rotarray=function(surface, step){
    var retv={'orig':surface,
              0:surface,
              'step':step};
    var orig_size=surface.getSize();
    var timg;
    if(orig_size[0]!=orig_size[1]){
        var s=Math.max(orig_size[0], orig_size[1]);
        timg=new gamejs.Surface(s, s)
        timg.blit(surface, [(s-orig_size[0])/2, (s-orig_size[1])/2]);
        retv[0]=timg;
    }else{
        timg=surface;
        retv[0]=surface;
    }
    for(var angle=step;angle<360;angle+=step){
        retv[angle]=gamejs.transform.rotate(timg, angle);
    }
    return retv;
};
Ejemplo n.º 2
0
var ProjectileTower = exports.ProjectileTower = function(playSurface) {
    ProjectileTower.superConstructor.apply(this, arguments);
    this.playSurface = playSurface;

    this.originalImage = gamejs.image.load("images/enemy-1.png");
    this.image = gamejs.transform.rotate(this.originalImage, this.rotation);

    // config
    this.rotationSpeed = 50;
    this.shootRange = 250;
    this.shootDamage = 60;
    this.projectileSpeed = 250;
    this.msShootRatio = 200;
    this.price = 70;

    // dynamic
    this.msSinceLastShot = 0;

    return this;
};
Ejemplo n.º 3
0
    initialize: function(options) {

        this.z = options.z;
        this.scale_factor = 1 / Math.pow(Math.E, (this.z / 5));
        this.rect.height = Math.floor((this.rect.height * this.scale_factor)/3.5);
        this.rect.top += Math.floor(this.scale_factor * 20);
        this.imageFile = gamejs.image.load(options.image);
        this.image = new gamejs.Surface(this.rect.width, this.rect.height);
        this.baseImage = this.image.clone();
        this.rect01 = this.rect.clone();
        this.rect01.top = 0;
        this.rect02 = this.rect01.move(this.w, 0);
        var dims = this.imageFile.getSize();
        var newDims = [Math.floor((dims[0] * this.scale_factor)/3.5), this.rect.height];
        this.imageFile = gamejs.transform.scale(this.imageFile, newDims);

        for(var i = 0; i * newDims[0] < this.rect.width; i++) {
            var rect = new gamejs.Rect([i * newDims[0]], newDims);
            this.baseImage.blit(this.imageFile, rect);
        }
    },
Ejemplo n.º 4
0
Actor.prototype.draw = function(display) {
	//cq(this.image._canvas).matchPalette(palettes.simple);
	
	if (this.spriteSheet) {
		if (this.image) {
			this.image = gamejs.transform.rotate(this.image, (this.angle) * (180 / Math.PI));
			gamejs.sprite.Sprite.prototype.draw.apply(this, arguments);
		};
	} else {
		//draw.rect(display, "#000FFF", new gamejs.Rect(this.pos, [5,5]));
	}
	
	if (config.DEBUG) {
		var color = "#000FFF";
		if (!this._inControl) {
			var color = "#555000";
		}
		draw.rect(display, color, this.rect, 1);
	}
	return;
};
Ejemplo n.º 5
0
function init() {
    gamejs.display.setMode([854, 480])
    backdropimg = new gamejs.Surface([854, 854])
    backdropimg.fill("#000088")
    var circ = new gamejs.Surface([100, 100])
    var carr = new gamejs.surfacearray.SurfaceArray(circ)
    for (var x = 0 ; x < 100 ; ++x) {
        for (var y = 0 ; y < 100 ; ++y) {
            var dx = x - 50, dy = y - 50
            var a = Math.floor(32 * Math.exp(-(dx * dx + dy * dy) / 400))
            carr.set(x, y, [0, 64, 0, a])
        }
    }
    gamejs.surfacearray.blitArray(circ, carr)
    circ = gamejs.transform.scale(circ, [300, 300])
    var rect = circ.getRect()
    for (var j = 0 ; j < 240 ; ++j) {
        var x = Math.random() * 854, y = Math.random() * 854, r = Math.random() * 100
        rect.center = [x, y]
        backdropimg.blit(circ, rect)
    }
    

    screen = gamejs.display.getSurface()
//    for (var j in screen) alert(j)
    HUD = new Thing.Thing()
    gameplay = new Thing.Thing()
    var fps = (new Thing.FPSCounter()).attachto(HUD)
    statusbox = (new Thing.TextBox()).attachto(HUD).setpos([10, 440])

    gameplay.image = backdropimg
    gameplay.centered = false
    balls = (new Thing.Thing()).attachto(gameplay)

    gamejs.time.fpsCallback(think, null, 60)

}
Ejemplo n.º 6
0
function getimage(name) {
    switch (name) {
        case "adv": // generic adventurer
            var img = new gamejs.Surface([600, 600])
            img.blit(getpiece("noggin-0"))
            img.blit(getpiece("peepers-0"))
            return gamejs.transform.scale(img, [100, 100])

        case "dana": return gamejs.transform.scale(getpiece("dana-0"), [100, 100])
        case "lisa": return gamejs.transform.scale(getpiece("lisa-0"), [100, 100])
        case "theo": return gamejs.transform.scale(getpiece("theo-0"), [100, 100])
        case "rosa": return gamejs.transform.scale(getpiece("rosa-0"), [100, 100])
        case "mort": return gamejs.transform.scale(getpiece("mort-0"), [100, 100])


        case "monster":
            var img = new gamejs.Surface([100, 100])
            gamejs.draw.circle(img, "green", [50, 25], 25)
            return img
        case "bomb0":
            var img = new gamejs.Surface([60, 60])
            gamejs.draw.circle(img, "#440000", [30, 16], 16)
            return img
        case "bomb1":
            var img = new gamejs.Surface([60, 60])
            gamejs.draw.circle(img, "#AAAA00", [30, 16], 16)
            return img

        case "lump": return gamejs.transform.scale(getpiece("lump-0"), [100, 100])
        case "largelump": return gamejs.transform.scale(getpiece("lump-0"), [180, 180])
        case "hugelump": return gamejs.transform.scale(getpiece("lump-0"), [240, 240])
        case "spike": return gamejs.transform.scale(getpiece("spike-0"), [100, 100])
        case "largespike": return gamejs.transform.scale(getpiece("spike-0"), [180, 180])
        case "hugespike": return gamejs.transform.scale(getpiece("spike-0"), [240, 240])

        case "crystal-0":
            return gamejs.transform.scale(getpiece("crystal-0"), [400, 400])

        case "zoltar-4":
            return gamejs.transform.scale(getpiece("zoltar-1"), [300, 300])
        case "zoltar-3":
            return gamejs.transform.scale(getpiece("zoltar-1"), [200, 200])
        case "zoltar-2":
            return gamejs.transform.scale(getpiece("zoltar-1"), [150, 150])
        case "zoltar-1":
            return gamejs.transform.scale(getpiece("zoltar-0"), [120, 120])

        case "skull":
            return gamejs.transform.scale(getpiece("skull-0"), [300, 300])

        case "birdy-0":
            return gamejs.transform.scale(getpiece("birdy-0"), [300, 300])
        case "birdy-1":
            return gamejs.transform.scale(getpiece("birdy-1"), [300, 300])
        case "birdy-2":
            return gamejs.transform.scale(getpiece("birdy-2"), [300, 300])
        case "birdy-3":
            return gamejs.transform.scale(getpiece("birdy-3"), [300, 300])

    }
}
Ejemplo n.º 7
0
 particles.forEach(function(p) {
    surface.blit(gamejs.transform.scale(this.image, [p.size, p.size]), p.pos);
 }, this);