beeglebug

Members
  • Content Count

    52
  • Joined

  • Last visited

About beeglebug

  • Rank
    Advanced Member

Contact Methods

  • Twitter
    beeglebug
  1. Hi, Parkers Sleigh Ride is a Christmas themed infinite runner in which you fly through the air dropping gifts down chimneys to score points. It was made by myself and the team at drp digital (https://drpgroup.com/digital) as a gift to our clients, but it's also open to the public so I thought i'd mention it here and get some feedback from other devs. It's the first time a game we've built has been released publicly (normally it's private client work), so we're really excited for people to have a go! You can play it here: http://parkerssleighride.drp.digital Thanks for reading!
  2. Taking advantage of the great new v3 architecture, I've created a plugin for importing Tiled maps. You can get it through npm: npm install pixi-tiledThe github repo is here. It's fairly basic for now, but it handles layers, tilesets (including multiple tilesets per layer), and uses the new loader middleware system to make it super easy to use. I've tried it with a couple of my own maps, and it works great, but i'm really keen to get people to try it with their own maps to I can start ironing out all the inevitable edge cases. If you have any feature requests please raise a github issue and I will do my best to implement them. Thanks for looking!
  3. I can't promise anything, but I'll take a look later today and see if I can add the mouse event stuff into the Pixel Scaler plugin.
  4. If you don't pass the second argument, Phaser uses the first argument as the key to look up the image. In the example, the image is in the cache with a key of 'tiles', so when you remove that argument, Phaser tries to lookup an image with the key 'SuperMarioBros-World1-1' instead, and fails. The first argument is the name of a tileset, which can sometimes share a name with the image (hence the optional argument), but in this case is rendered using the image 'tiles'.
  5. Hmmm, personally I think it's better where it is. If it gets copied into that uber repo it just makes things confusing for people who want to raise issues or submit pull requests. I don't see the problem with each plugin having it's own repo, it's how the rest of the open source world works.
  6. As promised, I opened a pull request for copying the tile properties over, it makes accessing them much easier IMHO: https://github.com/photonstorm/phaser/pull/1126
  7. I spent some time at the weekend trying to work out how to scale my game up without losing the lovely crisp pixels, and eventually settled on the technique that Rich wrote about in this tutorial: http://www.photonstorm.com/phaser/pixel-perfect-scaling-a-phaser-game I thought this was a nice solution, so I ported the code to a Phaser Plugin to make it super easy to use. All you do is initialize it and it takes care of hiding the existing canvas, creating a new canvas and the relevant draw call to copy and scale the game. You can find the plugin here if you want to to try it out (or contribute): https://github.com/beeglebug/phaser-pixel-scaler At the moment it just scaled the game by a fixed amount, but i'd like to extend it eventually so it can do full screen (similar to the existing ScaleManager).
  8. Sorry it took so long, but I finally got round to putting in the pull request: https://github.com/photonstorm/phaser/pull/1126 Nothing fancy, basically the same code as above, but in the parseTiledJSON function. It lets you do nice short code like: var tile = map.getTile(5,5);if(tile.properties.destructable) { // do something}
  9. I think that's a problem with the Tiled exporter, the properties don't follow the same "firstgid" rules that the other tiles do. Not sure why either. I'm not sure performance is a reason to not copy the properties to the tiles, the tile objects already have a dozen or so properties, a few more can't really hurt. Plus because the properties are all in an object, all the tiles of that type would all point at the same object, which is already in memory against the tileset, so its not going to be a memory issue either. It probably just got forgotten. I've already implemented my own version of Phaser.TilemapParser.parseTiledJSON which copies the properties over to the tiles, and it works a treat. When I get a minute later i'm going to do a pull request on github and see if Rich wants it.
  10. Rather than scaling or cropping, could you not create a horizontally tileable image then use a TilingSprite and adjust the width?
  11. I've just noticed this same issue. Not sure why the data never goes anywhere, it looks like a bit of an oversight. I might do a pull request to copy the data over, as it seems useful.
  12. If I add properties to a tile in Tiled, I can see the data on the TileSet (tileProperties), but the data isn't accessable anywhere. I searched for tileProperties in the repo, and it looks like it's literally set and forgotten about. Is there a reason the properties aren't copied to tiles, or that there are no accessors for the properties?
  13. Just a though, should I be using groups for this? I.e add a group called `map`, to which I can remove the current map, and add the new one, without the overall position in the display list changing? My past experience has been more with pixi than Phaser, so im used to manipulating the display list and using displayObjectContainers to set up an initial scene hierarchy. THe fact that phaser automatically adds things to the display list in the order you create them is really throwing me. Are there any examples of display list manipulation floating around, or am i barking up the wrong tree entirely and there is a much easier way to do what I want?
  14. I have a json Tiled map loaded, and at a certain point I want to throw that map away and load in a different one (I have the second tilemap loaded already). I'm unsure of the right way to get rid of the current map and load in a new one, particularly when it comes to the display list. I can call the same set of functions I did when adding the original map (game.add.tilemap etc), but this will just add the second map on top of all the sprites. What I need is a way to remove the existing map, and load the new one into the same point in the display list. Is there a simple way of doing this? It seems like phaser avoids exposing the underlying pixi display list too much, so I can't see any obvious functions for interacting with it.
  15. I don't mean necessarily a proper ec system, just a more encapsulated entity system. Look at the way unity does it for example. Game objects are really simple, just a position basically, then you add a sprite.as a property, and a physics body as another, etc etc. Its mainly an encapsulation issue, single responsibility principle and all that.