obiot

Members
  • Content Count

    236
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by obiot

  1. obiot

    melonJS 7.1.0

    Hi Guys, Back from holiday, and after having missed the release window before leaving, here is finally the latest 7.1.0 update for melonJS. Some nice things in this release, including : Last but not least, staggered hexagonal and isometric Tiled maps support More technical catch-up to align both the Canvas and WebGL renderer, and further improvement to the new me.GLShader class Various fixes and improvements in me.Text, Physic, Pointer, Audio and Sprite objects. See full changelog here, and as always all changes are backward compatible with the previous version, and available here: https://github.com/melonjs/melonJS/releases/tag/7.1.0 or on npm/jsdeliver : https://www.jsdelivr.com/package/npm/melonjs Tell us what you think ! -- the melonJS team
  2. Hi, we stopped actively supporting both IE11 and windows phone since a couple of major versions now. IE11 never provided a proper support (was missing basic thing like Object.assign() and others) and was replaced by EDGE (that is a much better browser), and windows phone are just a thing of the past..... However if you do want/need to support, all you need is to load a ES5/ES6 polypill before melonJS, that should do it. this said, I don't remember if in IE11 they support the standardised Pointer API or still the MS Prefixed one (that we also removed in melonJS).
  3. really ? sounds like a bug/regression to me, and I'm not seeing an issue with the Platformer example.... are you rendering all layer separately or using the preRender flag ? (http://melonjs.github.io/melonJS/docs/me.sys.html#.preRender) as for manually changing the order ingame, you can use the getChildByName or getChildByType method of the wolrd container : for example: // return the first layer with the name Spawn var layer = me.game.world.getChildByName("Spawn")[0]; // return all layers object var layers = me.game.world.getChildByName(me.TMXLayer); and then access the pos property of the layer and change the z or y value (based on the sorting method you are using)
  4. the texture overflow issue is supposed to be fixed actually, I'll give it a try on my side
  5. is there one feature that I could add that would make you upgrade ?
  6. oops, sorry about that, reason is that in the latest 7.0.0 WebGL is now the default, and the Particle Editor was designed to use the Canvas one ! all fixed now, if you reload the page it will work back
  7. For those who have not noticed yet, since with version 7.0.0, melonJS is now officially available through NPM, it means as well that the latest build of melonJS can now install through NPM or/and available through the jsdeliver CDN. for NPM : $ npm install melonjs For delivery through jsdelivr content delivery network (CDN) URL : <script src="https://cdn.jsdelivr.net/npm/melonjs@7.0.0/dist/melonjs.js"></script> or the following for the minified version : <script src="https://cdn.jsdelivr.net/npm/melonjs@7.0.0/dist/melonjs.min.js"></script> and of course the debug panel : <script src="https://cdn.jsdelivr.net/npm/melonjs@7.0.0/plugins/debug/debugPanel.js"></script> Note: "official" CDN and NPM install are only available from version 7.0.0 and onwards.
  8. obiot

    melonJS 7.0.0

    Hi Guys, it has been more than one month since version 6.4.0, so time for a new release, right ? 😀 Lots of under the hood changes in this one, bringing us now to version 7.0 ! new build process (for those participating to the melonJS codebase) based on npm and rollup, that will facilitate the transition to ES6 (the entire lib can be progressively changed to ES6 and still be also transpiled to ES5) CocoonJS support have been removed, as the service is shutting down more WebGL improvements : on top of now using WebGL by default, or properly supporting context lost, WebGL Shader implementation has been totally revamped ! there is still some work to do to polish it internally or furthermore in order to streamline this (e.g. specify or change a different shader filter for a given renderable), but a lots of ground work was required before that and now we are finally getting there. improve/fix pointer detection when dealing with complex css layout other small improvements and fix related to video, Tiled, timer, etc... (see here for a more detailed changelog) Although there are some API changes this time, it's more like protected API, so unless you were tapping into very advanced not so well documented features of melonJS (like using your own shader), you can safely upgrade without breaking your game thank you ! --- the melonJS team
  9. me.Renderer is just a base class for both the Canvas and WebGL renderer to prevent duplicated code as half of it is anyway common to both. as for the setColor() methods, this is used to define the current fill and stroke rendering color and is defined here for the canvas renderer : https://github.com/melonjs/melonJS/blob/master/src/video/canvas/canvas_renderer.js#L571-L586 and there for the WebGL one : https://github.com/melonjs/melonJS/blob/master/src/video/webgl/webgl_renderer.js#L591-L603 reason of this one not being in the base Renderer class is that, as you can see, the implementation is different based on the target renderer. hope this helps !
  10. FYI, I just added it to the current 7.0 version : https://github.com/melonjs/melonJS/commit/97d6a2eb1dd8d788112b40c6f92869e0b25b5b39 test build available below if you want to give it a try : https://melonjs-builds.s3.amazonaws.com/index.html?prefix=artifacts/master/2506/build/
  11. that's disappointing.... Would you mind trying with the the latest 7.0 build ? https://melonjs-builds.s3.amazonaws.com/index.html?prefix=artifacts/master/2503/build/ there is no api change between 6.4 and 7.0 that will impact you (so except maybe from the plugin it should work out of the box) also I added a me.video.renderer.updateBounds() function that you can call yourself (cleaner than a private variable) and that will update the internal cache position on the parent container. if just replacing the lib does not do anything, try calling the function from the console before/when opening the UI
  12. to keep it under my radar : https://github.com/melonjs/melonJS/issues/977
  13. the other issue with browser zooming is that it does not trigger any event and that melonJS is "caching" the parent relative position, see below and only recalculate it on a resize event : https://github.com/melonjs/melonJS/blob/master/src/video/video.js#L358-L367 therefore when one zoom in or out pointer coordinates are thereof off as the cached value is not correct anymore..... a quick way around it for now could be for you to set canvasOffset to null when the end user opens the UI, by doing " me.video._canvasOffset = null; " this is certainly a bit hackish, and I will probably rather add a method like "updateBoundingClientRect()" or something (that can be called from somewhere we can detect a zoom), but at least it can help validate my assumptions (if you don't mind testing it)
  14. Indeed this is a valid request and to be honest i don’t recall why arguments passlng has not been included when we implemented these functions, as this is indeed supported by the global « standard » ones. i’m glad that you found a way to make it work for you (passing arguments to bind was another one), but i’ll look anyway into adding it to our setTimeout and setInterval methods. Thanks !
  15. so I tried this morning, but I'm not getting how to actually zoom in or out the browser with the game going fullscreen when starting, and the browser switching back to the main screen (score/$ dashboard, screen "return to game/how to play/etc...), how do you actually zoom ?
  16. thanks for the feedback, but coming from the Unity word, isKinematic is kind of well know as they define the same property. Now admittedly the use of isKinematic has been slightly abused in melonJS to also apply to pointer event as well (if this is what you mean), where it should be limited to physic interactions/motions.
  17. y-order sorting is a way to cheat with sprite draw sorting, especially in isometric games, so that (simply put) things at the bottom of the screen are properly overlapping thing at the top if you google it (game y-order sorting) you'll find lots of discussion about it, vs z-ordering and with some examples and pro&cons. About changing colour, using the latest (6.4.0) version of melonJS and WebGL (tinting is not yet available with the Canvas Renderer), you can use the sprite tinting features : http://melonjs.github.io/melonJS/docs/me.Renderable.html#.tint (note that in the 6.x release cycle, WEBGL is not the default, you will have to force it in the video init method at least by specifying `renderer : me.video.AUTO`, this will change in the 7.x release as WebGL will now be the default). about hovering, you can use the `pointerEventer` and `pointerLeave` event (http://melonjs.github.io/melonJS/docs/me.input.html#.registerPointerEvent), see as well an example of a hover feature in the GUI example : https://github.com/melonjs/melonJS/blob/master/src/renderable/GUI.js As for the bounding box, I did not really "deeply" think about your issue, but yeah definitely, on top of the y sorting (if that helps) you should really consider upgrading to the latest version if possible. the changelog is quite huge since the 5.1.0 version : https://github.com/melonjs/melonJS/blob/master/CHANGELOG and except for all utility function that were moved under the me namespace, mostly all API changes since then were implemented in a backward compatible fashion, so updating should be relatively smooth : https://github.com/melonjs/melonJS/wiki/Upgrade-Guide. hope this all helps ! and yes I would love to try your games, will send you an email right after, thanks 😛
  18. FYI I just finished replacing grunt by rollup to create our melonJS bundle. its pretty cool actually, and I can now truly external dependencies as they are and "bundle" at build time ! https://github.com/melonjs/melonJS/blob/master/rollup.config.js
  19. Hi, sorry for the long delay in replying, did you fix your issue ? there are actually 3 events you could subscribe to (also triggered in the following sequence): WINDOW_ONRESIZE : http://melonjs.github.io/melonJS/docs/me.event.html#.VIEWPORT_ONRESIZE (that actually follow the standard "DOM" size/orientation change event) VIEWPORT_ONRESIZE : http://melonjs.github.io/melonJS/docs/me.event.html#.VIEWPORT_ONRESIZE CANVAS_ONRESIZE : http://melonjs.github.io/melonJS/docs/me.event.html#.CANVAS_ONRESIZE so assuming all you "need to know" is when the window is being resize, you can then do : me.event.subscribe( me.event.WINDOW_ONRESIZE_CHANGE, function resizeMyUI() { // do something amazing } );
  20. obiot

    melonJS 6.4.0

    Add to what ? Can you be more specific? Thanks.
  21. obiot

    melonJS 6.4.0

    Hello, shortly after the Chinese new year, here is a new release of melonJS, High-Level Changes : New documentation format, including a better, more modern, layout and search feature. http://melonjs.github.io/melonJS/docs/index.html Support for Multiple Texture Packer Textures Added Colour Tint support for Renderable (WebGL mode only for now) Bunch of small fix and improvements on Renderable, Animations, Isometric rendering, and System renderers See here for a more detailed changelog, there is no API change this time (just some internal re-factoring), so you can safely upgrade without breaking your game Have fun guys, and let us know what you think about the new documentation ! (it certainly can be further tweaked/improved) --- the melonJS team
  22. Hi, since the 6.0.0 version we sandboxed all previous extensions under our me namespace : https://github.com/melonjs/melonJS/wiki/Upgrade-Guide#5xx-to-600 As a consequence the clamp method is since then only available through me.Math.clamp() http://melonjs.github.io/melonJS/docs/me.Math.html#clamp rather do : pos.x = me.Math.clamp(val, min, man) should fix your issue.
  23. I would love to move to yarn or web pack actually, including for the engine itself, but I just did not have the time to look at it.
  24. found and fixed a similar case https://github.com/melonjs/melonJS/commit/43d91c800fa684ae2fe61e26d183842cc254dfcb