Search the Community

Showing results for tags 'suggestion'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 5 results

  1. The documentation for sprite animation is a bit out of date and a new method setAnimationSpeed(speed) or setAnimationSpeed(identifier, speed) should be added. I have a sprite and an animation this._super(me.Sprite, 'init', [339, 480, settings]); this.addAnimation('normal', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],100); this.setCurrentAnimation('normal'); This animates at a delay of 100 ms. I can change the animation delay by adding another parameter to the addAnimation method. I could not change the delay afterwards with the solutions I found. I have seen this answer: https://groups.google.com/forum/#!topic/melonjs/mk6mVcMoVKo but it is no longer relevant. this.anim.normal.animationspeed isn't a part of melonjs anymore and changing the other animationspeed settings doesn't have any effect. This is I think, because of a change from a 'global' animation delay to a frame-based animation delay. The new method for changing the speed of an animation should now be: setAnimationSpeed: function(identifier, speed) { for (var i = this.anim[identifier].frames.length - 1; i >= 0; i--) { this.anim[identifier].frames[i].delay = speed; } } There should be a note on the sprite and/or renderable pages about the animation speed able to be individually set on a per-frame basis. It could be useful for example if some character is looking to the left and then turning quickly to the right the frame set wouldn't have to look like this: [0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[1],[2],[3],[4],[5],[5],[5],[5],[5],[5],[5],[5] and could just have a long delay on the 0 and 5 frames. Every X.0.0 version should result in a new version of the wiki and documentation with the changes you're making. Relevant changes to each could be made to affected pages after.
  2. After some research on Internet how to make bullet hell game with Phaser, no good tutorial found, so I decided to use 3rd framework, then I found bulletml.js, so I give it a try, running 3rd demo, work great. (3rd one is orginal, no dependency, also, bunch of Japanese in comment and on github page, maybe I should learn it...). So I tried to modify it without Phaser, work great too. After saw what it can do, I tried to make it work with Phaser, little hard for me to understand demo's code (I'm still a beginner). So I tried, got error: Uncaught TypeError: this.onTextureUpdate is not a function and a bunch of warning. Anybody know why or it is impossible to do, or maybe suggestion on tutorial? (Also, Rich, can you consider use bulletml.js into Phaser.Weapon or Phaser.Bullet or Phaser.Particle or else? ) (Sorry for bad english )
  3. Notice that for the API docs the div topper scrolls with the page as you navigate when compared to the community page, which allows you to scroll away from the div topper. Vertical space is extremely valuable when reading code and documentation (or anything on a computer screen, really). I can see a possible rationale for this design decision being the ability to switch versions from anywhere in the page, as the version toolbar scrolls with the div topper, but I don't think the trade-off nearly worth it. This has bugged me enough that I had to checkout the git repository and browse the docs locally. I believe it would be a better docs-browsing experience for all Phaser users with this small change. I propose the following change to docs.css: topper { position: relative; z-index: 99999; width: 100%; margin: 0 auto; background: url(/images/bg-body2.jpg) no-repeat 50% 0; background-size: 100% auto; } where `position: fixed` has been modified to be `position: relative`. Thoughts?
  4. I have a suggestion to add a little convenience to PIXI.AssetLoader's onProgress event: It would be helpful to pass the index of asset that was just loaded (and possibly---for extra convenience---the length of the assetURLs array). The code would go something like: PIXI.AssetLoader.prototype.load = function(){// - var scope = this; // - function onLoad(evt) {// - scope.onAssetLoaded(evt.data.content);// - } this.loadCount = this.assetURLs.length; for (var i=0; i < this.assetURLs.length; i++) { var fileName = this.assetURLs[i]; //first see if we have a data URI scheme.. var fileType = this._getDataType(fileName); //if not, assume it's a file URI if (!fileType) fileType = fileName.split('?').shift().split('.').pop().toLowerCase(); var Constructor = this.loadersByType[fileType]; if(!Constructor) throw new Error(fileType + ' is an unsupported file type'); var loader = new Constructor(fileName, this.crossorigin);// - loader.on('loaded', onLoad);/* + */ this.setLoadHandler(loader, i, this.assetURLs.length ); loader.load(); }};// +PIXI.AssetLoader.prototype.setLoadHandler = function(loader, nth, of){ var scope = this; function onLoad(evt) { scope.onAssetLoaded(evt.data.content, nth, of); } loader.on('loaded', onLoad); }// end +/** * Invoked after each file is loaded * * @method onAssetLoaded * @private */// - PIXI.AssetLoader.prototype.onAssetLoaded = function(loader)/* + */ PIXI.AssetLoader.prototype.onAssetLoaded = function(loader, nth, of){ this.loadCount--;// - this.emit('onProgress', { content: this, loader: loader });/* + */ this.emit('onProgress', { content: this, loader: loader, nth: nth, of: of}); if (this.onProgress) this.onProgress(loader); if (!this.loadCount) { this.emit('onComplete', { content: this }); if(this.onComplete) this.onComplete(); }};...and usage would go something like (example with bootstrap & jquery for ui elements): function init(){ var self = this; var assets = [ // ... ]; var loader = new PIXI.AssetLoader(assets); function onProgress( e ) { var percent = Math.round(e.data.nth / e.data.of) * 100; var value = percent + "%"; // 'pb_loader' is a bootstrap progress bar nested in a modal dialog $('#pb_loader').width(value).text(value); } function onComplete( e ) { // 'myModal' is bootstrap modal dialog $('#myModal').modal('hide'); } loader.on('onProgress', onProgress); loader.on('onComplete', onComplete); $("#myModal").modal('hide'); loader.load();}I have this working on a recent project.
  5. I dig a lot through the numerous examples (as they seem to be the primary 'documentation'). What I often want to do is to change a value or two and experiment with the result to learn how exactly a feature works. That is why I suggest CodePen as an alternative (or the new place) for the examples. Instant editing, preview, forking. What is not to like?