• Content Count

  • Joined

  • Last visited

About hellspawn_bg

  • Rank
    Advanced Member
  • Birthday 08/01/1985

Profile Information

  • Gender
  • Location
    Sofia, Bulgaria

Recent Profile Visitors

700 profile views
  1. hellspawn_bg

    Render screen on texture?

    Upon game over I am trying to render the screen on a texture which would be passed on the next state as a background. Sofar I have implemented this, but I end up with a black screen instead. In the game state I do this: this.texture= new Phaser.RenderTexture(this.game, this.game.width, this.game.height);this.texture.renderXY(this.game.stage, 0, 0);In the new state I set the texture as a background: this.background = new Phaser.Sprite(this.game, 0, 0, this.texture);Any ideas? Thanks
  2. hellspawn_bg

    Stage cleanup

    I am wondering how to implement the stage cleanup when switching between 'Game' and 'GameOver' stage. Should I simply put this = null in the shutdown function or should I nullify all the objects created in the stage. I have alot of objects and vars created in my stage and I want to avoid memory leaks when switching stages. Game = function(game) { .... //hell of alot vars defined here};Game.prototype = { create: function() { this.obj1 = new Obj1(); this.obj2 = new Obj2(); .... }, gameOver: function() { // Switch to game over stage this.stage.start('GameOver'); }, shutdown: function() { }};
  3. hellspawn_bg

    Phaser 2.2.0 Release Candidate 11 - Please Test!

    I get this error upon boot state start Uncaught TypeError: undefined is not a function phaser-no-physics.js:26236 Phaser.Input phaser-no-physics.js:26236 Phaser.Game.boot phaser-no-physics.js:25389 Phaser.Device._readyCheck phaser-no-physics.js:44600
  4. hellspawn_bg

    Can I set the group width?

    I am not sure that you can set group width. The group is used to simply logically group objects having the same behaviour.
  5. Recently I have been following an ongoing discussion regarding mobile performance and efficiency. One of the recommendations that caught my eye was to avoid classes and prototyping altogether because they can slow down the performance significantly. So far I have structured my code by creating separate class objects in different files by using prototypes. class = function () {}class.prototype.myMethod1 = function () { console.log('myMethod');}class.prototype.myMethod2 = function () { console.log('myMethod2');}In this regard, I am wondering what is the recommended and most efficient way to structure your code? Perhaps the more experienced users can share something from their bag of tricks. Thanks
  6. hellspawn_bg

    Mobile performance - tips && tricks

    Thank you very much SolarJS. Your sample was really helpful, but what about inheritance? In the first case we can inherit Phaser.Sprite like this: BallObject = function(game, x, y) { Phaser.Sprite.call(this, game, x, y, 'basketball');};BallObject.prototype = Object.create(Phaser.Sprite.prototype);BallObject.prototype.constructor = BallObject;What would be the analog in the second method? Thank you once again.
  7. hellspawn_bg

    Mobile performance - tips && tricks

    @defic. My code also looks like that and I am interested how to go with the pre-cached functions. @SolarJS: Perhaps you can show an example, based on the code above? Thanks
  8. hellspawn_bg

    Sprite body rotation

    Strangely though, the physics arcade body has allowRotation property which returns true in my case.
  9. hellspawn_bg

    Sprite body rotation

    Hey guys, I have noticed that when I rotate my sprite by altering the angle, the physical body of the sprite doesn't get rotated. Any ideas why? Here is my code: preload: function() { this.starShip = this.add.sprite(this.world.centerX, this.world.centerY, 'starShip'); this.starShip.anchor.setTo(0.5, 0.5); // Needed for the collision detection this.game.physics.arcade.enable(this.starShip); }, update: function() { // Player turns left if (this.cursors.left.isDown) { this.starShip.angle -= 3; } // Player turns right else if (this.cursors.right.isDown) { this.starShip.angle += 3; } }, render: function() { this.game.debug.body(this.starShip); }And here is the result: Thanks
  10. hellspawn_bg

    Atlas: Cannot set frameName warning

    Got it working. Was using load.atlas instead of load.atlasJSONHash.
  11. hellspawn_bg

    Atlas: Cannot set frameName warning

    I recently came across this warning, while trying to pack my images into a single texture atlas. I have prepared the atlas with TexturePacker using JSON Hash. For the purpose of the demo I have created a texture with 2 images inside. I have set the texture size to power of 2. The content of the JSON file is: {"frames": {"cat.png":{"frame": {"x":2,"y":68,"w":50,"h":50},"rotated": false,"trimmed": false,"spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},"sourceSize": {"w":50,"h":50},"pivot": {"x":0.5,"y":0.5}},"dog.png":{"frame": {"x":2,"y":2,"w":80,"h":64},"rotated": false,"trimmed": false,"spriteSourceSize": {"x":0,"y":0,"w":80,"h":64},"sourceSize": {"w":80,"h":64},"pivot": {"x":0.5,"y":0.5}}},"meta": {"app": "http://www.codeandweb.com/texturepacker","version": "1.0","image": "gameContent.png","format": "RGBA8888","size": {"w":128,"h":128},"scale": "1","smartupdate": "$TexturePacker:SmartUpdate:4d5d08212283de860125419268743cc3:0b7ce17362320bea73869f2c1a9da2bb:e88dd6268be3835132a863977762ea7c$"}}In my pre-loader I am loading the atlas using: this.load.atlas('gameContent', 'assets/images/test/gameContent.png', 'assets/images/test/gameContent.json');In my create function, I am loading the cat only: this.cat = this.game.add.sprite(0, 0, 'gameContent', 'cat.png');Upon startup I am seeing this warning in the console. Cannot set frameName: cat.png And instead of loading only the cat from the atlas, it loads the hole gameContent.png. Am I missing something here? Thanks
  12. hellspawn_bg

    Very slow, why?

    Works fine on mine
  13. hellspawn_bg

    Randomly timed event?

    Thanks, Lewster, I will stick with the first proposal. Thank you, Rudy
  14. hellspawn_bg

    Randomly timed event?

    Thanks, Lewster. Will the addition of a new timer in the callback affect the performance anyhow (if the drop is happening every couple of seconds) and should I worry about garbage collection?
  15. hellspawn_bg

    Randomly timed event?

    I am trying to implement some random events happening in my game. For example I want to drop an item on every 5 to 10 seconds. In phaser there is an easy way to create loop events, but they all loop at a certain time. What I am doing so far to achieve this is to add a delay on the event in the timer callback. Is there a smart way to create create events looping in some time range? // Initialize drop timervar cooldown = this.game.rnd.realInRange(this.coolMin, this.coolMax);this.dropTimer = this.game.time.create(false);this.dropEvent = this.dropTimer.loop(Phaser.Timer.SECOND * cooldown, this.dropItem, this);this.dropTimer.start();// dropItem function Grabbable.prototype.dropItem= function() { // Do something // Reset timer var cooldown = this.game.rnd.realInRange(this.coolMin, this.coolMax); this.dropEvent.delay = Phaser.Timer.SECOND * cooldown;};