Popular Content

Showing content with the highest reputation on 01/05/19 in all areas

  1. 1 point
    Ermis Special Effects released! PlayCanvas post process effects available now: - Scalable Ambient Occlusion - God Rays - Depth of Field More coming! Watch them, desktop only: https://playcanv.as/b/ZWfqkdUY/ Lower res, semi-real-time mobile version: https://playcanv.as/b/f5P5gzfh/ Get them here, combo option available: https://pic.pirron-rodon.one/
  2. 1 point
    Hi all! My friend Cooper and I just finished our small hobby project game called Fallgate. It's a small 2D adventure game written in TypeScript using pixi.js for rendering. We would love it if you played it! https://mbforbes.github.io/fallgate (works in Chrome on desktop / laptop only) I also wanted to send a belated thank you to members of this forum, because I ended up here countless times when I googled about things that I was confused about in pixi.js. Please enjoy! - Max
  3. 1 point

    p2.js plugin

    p2.js plugin has been updated to version 1.2.2 and now includes more example scenes: Bounce - shows how to bounce two bodies when they collide Groups - shows how to use collision groups
  4. 1 point

    Virtual Joystick plugin

    Virtual Joystick plugin has been updated to 1.1.0 and now supports multitouch
  5. 1 point

    Change image quality

    melonJS will overwrite whatever you set in the CSS based on the parameter(s) passed to the video init function : http://melonjs.github.io/melonJS/docs/me.video.html#init if you need/want to disable the pixelated rendering mode, just the set the antiAlias flag to true (for example) : me.video.init(800, 600, {wrapper : "screen", scale : "auto", scaleMethod : "flex-width", antiAlias : true, subPixel : false })
  6. 1 point
    I appreciate the help and will look into those links/terms.
  7. 1 point
    @espace use onLoop instead of onComplete You won't need to reset the x, because the tween state will do that. Math.random(0,800) is incorrect, use Math.random() * 800 instead. Use a regular function (not an arrow) for the signal listener, and use sprite as the context (instead of this). Sorry, couldn't figure out why this scenario didn't fit as expected with arrows? function create() { var sprite=[] var tw=[]; for (var i = 0; i < 5; i++) { sprite[i]=game.add.sprite(400+i*10, i*100, 'phaser'); } var move=()=>{ for (var i = 0; i < 5; i++) { tw[i]=game.add.tween(sprite[i]).to({x:-400},1000,Phaser.Easing.Linear.none,true,i*200,-1); tw[i].onLoop.add(function(){ this.y = Math.random() * 800; },sprite[i]) } } move(); }
  8. 1 point
    So I smoothed out my movie clip animation with the following. The prepare plugin was the right solution but never worked. WebGL needs the entire texture(s) uploaded not the frames. The way textures are uploaded to the GPU is via renderer.bindTexture(texture). When the PIXI loader receives a sprite atlas url e.g. my_sprites.json it automatically downloads the image file and names it as mysprites.json_image in the loaders resources. So you need to grab that, make a texture and upload it to the GPU. let loader = new PIXI.loaders.Loader() loader.add('http://mysite.fake/sprite1.json') loader.add('http://mysite.fake/sprite2.json') loader.add('http://mysite.fake/sprite3.json') loader.once('complete', callback) loader.load() function uploadToGPU(resourceName){ resourceName = resourceName + '_image' let texture = new PIXI.Texture.fromImage(resourceName) this.renderer.bindTexture(texture) } loadSpriteSheet(function(resource){ uploadToGPU('http://mysite.fake/sprite1.json') uploadToGPU('http://mysite.fake/sprite2.json') uploadToGPU('http://mysite.fake/sprite3.json') // helper function to get all the frames from multiple textures let frameArray = getFrameFromResource(resource) let animSprite = new PIXI.extras.AnimatedSprite(frameArray) this.stage.addChild(animSprite) animSprite.play() })