• Content Count

  • Joined

  • Last visited

  1. Hello! Thanks for these plugins! I'll test the pixi-timer when I get the chance, it looks great I'm intrigued by the first one, how does it interact with PIXI own implementation ? https://pixijs.github.io/docs/PIXI.ticker.Ticker.html
  2. JDW

    Wrap or extend PIXI?

    I guess it's a choice you have to make. Stay fully compatible with PIXI's future updates or freeze a stable version of PIXI for your project and use it. I prefer to extend PIXI but I also freeze a stable version of PIXI when the project is near alpha release and do not think about compatibility anymore. I guess not all type of projects can afford to accept this but for mobile games, it's not like you are going to update your PIXI code once the game is released and risks major device incompatibilities.
  3. JDW

    Pixi.js Showcase

    Oh god, 2 years in the making, seeing this post and waiting to be able to answer here! What a journey for our team, and a good one thanks to PIXIjs. Today we are releasing our game, Celsius Heroes, worldwide. => http://www.celsiusheroes.com/ The game is an old school western RPG/Dungeon crawler with a match-3 combat system (inspired by Puzzle and Dragons). We use PIXI for our UI and a homemade WebGL 3D engine for the 3d stuff. The game runs on Facebook, and Android/iOS thanks to Cocoon.io https://apps.facebook.com/celsiusheroes/ https://itunes.apple.com/ca/app/celsius-heroes/id966885157 https://play.google.com/store/apps/details?id=com.celsiusonline.celsiusheroes We learned so much during these 2 years and I have a special thank you for Mat and Chad that helped us a lot when the v3 was released. You are amazing and you sure are thanked again in our credits. See you soon for another game!
  4. Hello, It is not IE only, but it appears that with your code, only IE needs to redraw your static UI every frame when on top of a canvas element. If one of your UI element were to be animated (forcing repaint every frame), you would see the same framerate drop in other browsers. Maybe that some of your code is the cause of continuous repaints or redraws in IE.
  5. There is atm a lot of bugs with a resolution > 1, check https://github.com/GoodBoyDigital/pixi.js/issues?q=is%3Aissue+is%3Aopen+resolution Everything should be corrected in the upcoming v3
  6. Impressive ! Great job !
  7. Two possibilities : 1 - The font ins't loaded yet when you create your PIXI.Text object. Fonts are loaded asynchronously so it can happens. You need to start your PIXI code after the WebFontLoader callback ( see https://github.com/typekit/webfontloader#events ) 2 - The name of the font (with +) can't be parsed by PIXI. When this happens, PIXI uses a default Arial 30px font. Try with another font to check if this is your issue. Regards.
  8. I'm sorry, I answered a bit in a hurry without fully looking at your code. It looks like you are using 2d canvas. I do not know how memory works with 2d canvas but my guess is the browser does all the work. Do you have this issue with every browsers ? With webgl you can load and unload texture from the memory directly and PIXI knows how to do it. Indeed, my code is totally useless to you as you encounter this bug on a very simple test case. Most of the time, memory leaks with PIXI occurs because of unloaded texts and tilingsprites.
  9. Hello, I had the same issue so I created a small function to clear a DisplayObjectContainer. It may be useful to you : PIXI.DisplayObject.prototype.clean = function(remove){ var rmv = remove || false; for (var i = 0; i < this.children.length; i++) { this.children[i].clean(true); } this.removeChildren(); if(rmv) { this.parent.removeChild(this); if (this instanceof PIXI.Text) this.destroy(true); else if(this instanceof PIXI.TilingSprite && this.tilingTexture) this.tilingTexture.destroy(true); else if(typeof this.destroy == 'function') this.destroy(false); }};And when I need to really clean everything ever loaded, I do this too (because destroy doesn't remove the javascript object from the cache, it only free the webgl memory): for(var texture in PIXI.TextureCache){var tmp = PIXI.Texture.removeTextureFromCache(texture);tmp.destroy(true);}for(var texture in PIXI.BaseTextureCache){PIXI.BaseTextureCache[texture].destroy(true);}
  10. JDW

    touchover event

    You want to use onTouchMove and on every call, get what sprite is under your finger, is that correct ? You can try to set a touchmove event on a display object container where you have your sprites, and then call the following method : /** * Tests if the current mouse coordinates hit a sprite * * @method hitTest * @param item {DisplayObject} The displayObject to test for a hit * @param interactionData {InteractionData} The interactionData object to update in the case there is a hit * @private */ PIXI.InteractionManager.prototype.hitTest = function(item, interactionData) http://www.goodboydigital.com/pixijs/docs/files/src_pixi_InteractionManager.js.html#l586 I would recommend to not use hitTest at every touchmove call, as I fear the performances would be bad. Put some kind of limit.
  11. JDW

    Particles System

    Hi, first of all, you could use SpriteBatch if you're building a particle engine : http://www.goodboydigital.com/pixijs/docs/classes/SpriteBatch.html You need one spritebatch for each texture. It will be significantly faster. You could try to create all of your particles at the same time, with the "visible" property set to false, and then set it to true for one particle per frame.
  12. +1. https://github.com/GoodBoyDigital/pixi.js/issues/1343
  13. Small but useful trick to set hitArea for rectangle graphics : graphics.hitArea = graphics.getBounds();
  14. CSS transition will be hardware accelerated if our hardware allows it. That should be why your mobile chrome is perfect while your desktop shows some flickering. I guess your chrome on desktop computer can't properly use hardware acceleration. Anyway, if you are looking for an average scale of animation speed : DOM < CSS transition (accelerated) <= 2DCanvas < Webgl. But please note that both 2DCanvas and Webgl will use more memory.