All Activity

This stream auto-updates     

  1. Past hour
  2. What do you have to know to produce solution for your case: 1. Graphics beginTextureFill, 2. pixi-tilemap 3. How to work with renderTexture. That's one of biggest threads about it, but there were countless others. Every time I tell people that they have to choose A. Algorithm B. low-level implementation. Every time the case is different and people are different, there's no magic button "just do it" in pixijs, you have to actually code something. One of the basics is https://pixijs.io/examples/#/textures/render-texture-basic.js . Make a container with many sprites or graphics with beginTextureFIll()'s and just render it inside a texture. I also know many things about canvas2d optimizations , I made that thing back in 2012-2013 https://github.com/ivanpopelyshev/bombermine-shuffle
  3. https://github.com/pixijs/pixi.js/blob/dev/packages/ticker/src/Ticker.js#L38 Ticker is not a ideal theoretical thing, its a class that has downsides and hacks: we can say that "it works" only if that really works for particular case. If it doesnt work for yours - well, find whats wrong and fix it. There're no guarantees. Not so long ago @themoonrat and someone else tried to fix that for different reason - minFPS/maxFPS props weren't working properly. I didnt even try to understand what did the guys fix.
  4. Today
  5. Hi! I have 50 HTML5 Games for sale. I have purchased these games on a license that allow me resell them. I am selling them for very cheap at just $4 Per Game. The total cost for this mega bundle will be $200. This includes License of the games, Free One Time Customization, Source code of the games, 6 Months Support, Free Updates of the games. If you're interested and want demo links. You can contact me via email at : kapilsonigr8@gmail.com Thanks, Have a nice day!
  6. Yesterday
  7. No, that means good old canvas does that. Webgl and webgl2 cant. Those modes can be achieved through copySubTex hackery , like in pixi-picture plugin, but i didnt move that plugin to v5 yet. Thread is here: https://github.com/pixijs/pixi-picture/issues/11
  8. In the docs is states "The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes. Anything else will silently act like NORMAL." Does this mean for webGl and webGl2? I can't seem to access these other blend modes (color dodge, exclusion etc.) - but I am using webGL2 renderer.
  9. OGG MUSIC UPDATE: All of my music tracks on my Horror/Surreal page can now be downloaded as very high-quality Ogg files. Halloween’s not too far off, so I’ll try to create more creepy music tracks this month. I had a super busy week creating original music for some indie projects, but I managed to get a few new free tracks done for everyone: On my Fantasy 9 page: MELANQUIRKY HOLLOW – (Looping) – Here’s a strange little piece that combines melancholy with quirkiness. Perhaps for humorously sad inhabitants of a fantasy village who stumble around drunk all the time? This one definitely falls into the “I’d be very interested to see what someone uses this for” category…lol. https://soundimage.org/fantasy-9/ On my Urban Ambience page: STREET_R29 – General street ambience. No foot traffic. Truck passes. Distant brakes. STREET_E30 – General street ambience. No foot traffic. https://soundimage.org/amb-urban-ambience/ Have a good weekend!
  10. By having the bitmap textures twice as big The PIXI.Text class generates it's own textures for display text using the canvas api, and so you can adjust the resolution to generate high / lower res text. But PIXI.BitmapText relies on the texture you supply it. So if you want it to be a higher resolution, you need to supply a higher res texture (or a larger font size that you can then scale down)
  11. Thanks for the reply @ivan.popelyshev I'm not understanding. Can u elaborate? Shouldn't delta update when ticker.update() is called every ~1000ms?
  12. There's max cap on delta, but in general that kind of tickers can go async in client-server. You need a mechanism for global server time, its inevitable.
  13. Hello, @ivan.popelyshev and @Herbert sorry for the necro but this looks to be exactly the issue I'm trying to tackle here in 2019. I'm working on a multiplayer game so it is important that my game state (physics calculations) stay in sync with the server. When the tab loses focus, it is my understanding that: RAF (which is what the Ticker uses) pauses. setInterval() is limited to 1000ms intervals. So my approach is to use a setInterval() instead of ticker.add() when window is blur and adjust as necessary (using deltaMS from the ticker): let manualUpdateInterval; window.onblur = () => { ticker.stop(); // stop the ticker so we can manually update ticker.minFPS = 1; // correspond to the setInterval limit (1000ms) manualUpdateInterval = setInterval(() => { ticker.update(); }, 1000); // capped at this value anyway } window.onfocus = () => { clearInterval(manualUpdateInterval); // stop the interval ticker.minFPS = 10; // reset to default minFPS ticker.start(); // start the ticker back up } if (ticker.started) { ticker.add(() => { update(ticker.deltaMS); // send deltaMS so physics calculations stay in sync draw(); }); } When the tab is focus, everything looks right. However when the tab loses focus, my physics calc seems off (I can monitor this by seeing the server update player location in it's logs)... When I switch back to the tab, player is behind. Is there something I'm missing here? Any help is appreciated.
  14. I'm trying to task that's easy to handle in Canvas, but which I can't seem to make sense of in PIXI. I thought I was getting close with this ( https://github.com/pixijs/pixi.js/issues/4894 ) and ( https://github.com/pixijs/pixi.js/issues/3251 ), but some of that is now deprecated; also, I'm not convinced this is quite what I'm looking for (or at least maybe not yet the way to do it) and I'd like to see a code example for what I'm trying to do. What I'm trying to do, and why: I have an editor, which is on a grid of tiles. The data for that level is stored in a JSON object, which may look something like this: { "room1": { 10: { 5: { "id": "Enemy/BossGuy" }, 6: { "id": "Ground/GrassH2" } } } } Now, obviously I *could* design an additional data structure on the side and an entire system that tracks every sprite, and another system that renders them, and another system that culls it based on your position, etc, etc... I most certainly don't want to do that. The data is already there, it just needs to render it. Additionally, the editor doesn't need blazing fast speed, I just want something that won't absolutely kill the memory. So what I want should look something like this: // We are INSIDE of the Y-Loop at this point... for( let x = tileXStart; x <= tileXEnd; x++ ) { const split = roomData[y][x].id; // assumes we know there's an id here const sheet = split[0]; // example: "Enemy" const spriteName = split[1]; // example: "BossGuy" // Uses the existing atlas textures and sprite references to render here: PIXI.draw( sheet, spriteName, x * 48, y * 48 ); } What's the correct way in PIXI to do this?
  15. Hello, I was wondering if there are any webmasters that have some nice websites for a good old link exchange. I have multiple ones with good metrics and almost no outbound links with high DA and PA's. Do you have an online game/portal and want to exchange some links? Please sent me a PM!
  16. I'm using pixi v5. On my PIXI.Text I can set "resolution = 2" But that doesn't exist on PIXI.BitmapText. So how should I set resolution for PIXI.BitmapText? Thanks
  17. Last week
  18. Btw, if you change it directly, like texture.frame.x = something, you have to call updateUvs() afterwards. if you assign texture.frame = something, then you dont need it.
  19. For that kind of tasks you need everything: renderTextures, temporary atlases, maybe SDF. Pixi gives a few primitives, you can work with them to implement your own algo.
  20. what about PIXI.RenderTexture ? I do it very fast i don't know if i do it well, maybe @ivan.popelyshev can confirm. I use this kind of rendering for my item menu with a lot of stuff. https://www.pixiplayground.com/#/edit/JfMIVX3TxcttWQCZyrI5F Also add some culling will maybe help here https://davidfig.github.io/pixi-cull/
  21. Unfortunate, oh well, i guess i'll just have to write another function, i'll just assume that PIXI.Texture.frame is the property i need Thanks
  22. Hi, I'm trying to destroy the game, and re-build it: game.destroy(); game = new Phaser.Game(720, 960, Phaser.CANVAS, 'phaser', { init: init, preload: preload, create: create, update: update, render: render }); But i'm getting the following error: How do you suggest I should solve it? thanks!
  23. Graphics in chunks is one of best solutions. sometimes you need stuff like pixi-tilemap. As for text, well, im sorry, but that many texts is a problem on its own and requires serious hack that i cant imagine after a hard workday and workout Welcome to the forums!
  24. "textures" hashmap is not a magic object, its just collection of textures by names that no one changes after loading. Of course, if oyu dont make copies of certain texture - all sprites with that texture will use different baseTexture :) I implemented many hacks on texture frames and basetextures, and I didnt yet port my pixi-super-atlas plugin to v5. Its not a hard problem, not on the level of custom filters, but not an easy one too. However one of things i remember is that baseTexture change sometimes doesnt result in proper sprite change, we fixed it some time ago, i advice you to use dev version: pixijs.download/dev/pixi.js (pixi-legacy.js is also there)
  25. Actually, a fluke test may have just shed some light on this. I was temporarily commenting out the baseTexture change just to avoid the bug, and it seems like it transferred between atlases automatically. So am I correct in thinking that all frame names are stored across all atlases, and will automatically assign the appropriate one? Thus also meaning that frame names would have to be unique per atlas?
  26. Okay, I have a peculiar issue. I'm trying to edit a particular sprite that will change it's image AND the atlas it uses. I have like six atlases, each of which focuses on different things (like Characters, Blocks, etc). However, the editor has a bunch of tiles that can be part of any of those atlases. So when I overwrite a tile, I need to also tell it which atlas to change to. Theoretically, not too much of a problem. As far as I can tell, PIXI allows this with a fairly straightforward technique: sprite.texture.baseTexture = getSheet( atlasGroup ); sprite.texture = PIXI.Texture.from(frameName); getSheet( atlasGroup: AtlasGroup ) { return this.loader.resources[atlasGroup].textures; } However, when I do this, it's actually misbehaving. It's almost like other tiles are suddenly having their baseTexture changed as well, which makes me suspect there's some things being changed by reference. Which isn't a problem, but I need a way to change *only* the sprite's atlas. TLDR: How do I change a sprite's atlas AND frame name in the correct way, without causing any by-reference texture updates that can affect other tile rendering?
  27. http://community.createjs.com/ CreateJS is a very capable general library: lightweight and reliable. Is it ideal for games? Probably not (because it's a rendering engine rather than a game engine). But is it viable for games? Absolutely (there are many decent examples of CreateJS games). Also worth adding that CreateJS has the benefit of being easily coupled with a visual tool (Adobe Animator).
  28. Hi, I am trying to build an trading orderbook heatmap which basically takes all pending orders from a securities and plots it in the form of a heatmap shown below where brighter colors mean more volumes. Canvas 2D implementation has has performance issues given the number of blocks and so I am exploring the idea of using webGL through PIXIJS as I am familiar with Canvas 2D APIs. Would like to know which tools should I start experimenting with. I understand you may not have a definite set but a menu of tools to choose and experiment with for best performance). Use case is to efficiently draw large number of small blocks
  1. Load more activity