codevinsky

Members
  • Content Count

    212
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by codevinsky

  1. After my ridiculously successful Phaser 2.0: Flappy Bird Reborn tutorial series, I've been working hard on some other projects. One of them, that I can't share about right now, has been a lot of fun and challenging working with Line of Sight. Here's a preview of what we'll build: http://phaser-light-math.herokuapp.com There are currently 7 sections to the tutorial, but I'll probably add two more: Multiple Lights and Directional Lights. What do you guys think?
  2. This one shows how to create the game for mobile browser, not for native.
  3. My newest video tutorial on getting started with Phaser and mobile game dev has just gone live on ZenvaAcademy. The course is about 2.5 hours long and by the end, you'll have built this game: http://zenva-runner.herokuapp.com Check it out, http://bit.ly/phaser-mobile and hit me with any feedback.
  4. It looks like a Ruby/ES6 language. This is amazing.
  5. I'd suggest taking a look at this: http://addyosmani.com/resources/essentialjsdesignpatterns/book/ There are a lot of ways to construct classes, and this book details most of them in depth. I'm partial to the Revealing Module Pattern.
  6. codevinsky

    speech morph

    This is really quite impressive.
  7. codevinsky

    speech morph

    This may be the creepiest god damn thing I've ever seen. I love it.
  8. I'm going with the minimal style. I really like simple graphics with interesting game play. It's kinda my style.
  9. I know it's not an HTML5 game, but it's my current work in progress.
  10. Whoops. http://duliett.herokuapp.com
  11. Watch the video. It might help.
  12. A lot of people are telling me it's hard. Other people are telling me that they are getting 200+ scores. Here's a gameplay video showing my strategy: Also: Notch seemed to like the idea:
  13. duliett: #lowrezjam entry http://duliett.herokuapp.com
  14. Finished with my game: duliett: http://duliett.codevinsky.com
  15. The correct code is: var sprite = game.add.sprite(0,0);
  16. I posted another thread with the WIP, but I finished it this afternoon. http://duliett.herokuapp.com
  17. Interesting. I was thinking that it was too easy.
  18. I've already set that option, but it doesn't seem to be working.
  19. The proper way to do recycling is as follows: function addCloud() { var cloud = clouds.getFirstExists(false); if(!cloud) { cloud = game.add.sprite(0,0, 'mario_cloud'); game.physics.arcade.enableBody(cloud); cloud.body.velocity.x = -150; cloud.body.immovable = true; cloud.checkWorldBounds = true; cloud.outOfBoundsKill = true; } cloud.reset(800,100); cloud.revive();}group.getFirstExists(false) will get the first element of the group that no longer exists. This usually indicates that "kill()" has been called on this element. It's a much safer way to cycle through "dead" objects.
  20. Points are mostly used for math. A sprite's position property is a point, as are a physics body's velocity and acceleration. Phaser.Point is basically rich's implementation of Vector2D. That is, you can do all kind of vector math on them and come up with some really neat stuff. Here's a demo I did with phaser using vector math to create basic flocking automata: Phaser Swarm
  21. so you're probably going to need to setup line-intersection detection. http://docs.phaser.io/Phaser.Line.html Keep a cache of the points you've drawn to, and then test the lines against the bounding boxes of the particles.
  22. You can set: bush.exists = false; in your overlap handler. This will cause the engine to ignore that bush until bush.exists is set back to true.
  23. So, if you have an extended sprite: var MySprite = function(game, x, y, asset, frame) { Phaser.Sprite.call(this, game, x, y, asset, frame);}MySprite.prototype = Object.create(Phaser.Sprite.prototype);MySprite.prototype.constructor = MySprite;And you want to add it to the game, simple do: create: function() { var mySprite = new MySprite(this.game, x, y, 'assetKey', 0); this.game.add.existing(mySprite);};
  24. this.tiles.forEach(function(tileGroup) { if(tileGroup instanceof Phaser.Group) { var tile = tileGroup.getAt(0); var value = tile.val; var valueText = tileGroup.getAt(1); if (value == 0) { this.emptyTiles.add(tileGroup); } else { this.occupiedTiles.add(tileGroup); } }}, this);That might be helpful. We're typechecking tileGroup to make sure it's actually a group and has those functions.