Search the Community

Showing results for tags 'phaser 3'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


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

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 102 results

  1. Play Link: Endless Cave HTML Game Free Download from PlayStore: Endless Cave Android Hey guys I'm doing a series where I create a mobile game from scratch with Phaser 3! Game Update List Update 0.0.1: Game is fully playable now, but without Tutorial or Achievements. Update 0.0.2: Achievements are up and running! Update 0.0.3: Tutorial added! Update 1.0.0: Game is RELEASED Update 1.x.x: Android App is now on the PlayStore! Game Link: Endless Cave HTML5 Game Free Download from PlayStore: Endless Cave Android Overview The game is called Endless Cave and it's best described as an endless runner with some dungeon crawler elements! And the series is basically a mixture of a vlog / blog / tutorials where I go from zero all the way to porting the game to Android and iOS. Here is the link to the web version of the game: Endless Cave HTML5 Game. You can also download the App from the PlayStore: Endless Cave Android Game. And below you'll find the links to the tutorial series about creating a mobile game from scratch with Phaser 3. Tutorial Series Overview: All Video Episodes on YouTube Overview: All Written Episodes on my Dev Blog Episode 01: Market Research Episode 02: 2D Game Art Episode 03: How to Set Up a Mobile Game with Phaser 3 Episode 04: How to Create a Loading Screen with Phaser 3 Episode 05: How to Create the Main Menu with Phaser 3 Scenes Episode 06: How to Create an Endless Scrolling Floor Background Episode 07: Add Entities & Player to the Phaser 3 Mobile Game Pt. 1 Episode 08: How to Create Sprite Animations in Phaser 3 Episode 09: How to Create Touch Controls & Mouse Controls Episode 10: How to Create Improved Player Controls to Make the Player Turn Episode 11: How to Create Randomized Levels Episode 12: Procedurally Add Infinite Rooms to the Level More Updates I'm also posting as many gifs & pictures as I can on my Twitter and my Instagram. I'll keep updating this thread as the game progresses and new episodes are coming out. If you have any suggestions or feedback, please let me know! Thanks so much for checking it out! 🙏
  2. Hi Everyone, I want to create same thing like this in phaser 3 using graphics library or by any other way. I cannot find compatible code for replacement in graphics library. Any help will be highly apprecited Many Thanks
  3. Try my christmas event game. very short, one button game. Press spacebar or mouse/touch to Jump. jump higher when holding button. Goal is this gift bag. You can see ending CG when you get gift bag Thank you for playing.
  4. I am trying to make a snow effect on the main menu using the particle emitter but particles spawn way to fast. I have this code: var particles = this.add.particles('snow'); var emitter = particles.createEmitter({ speedY: { min: 15, max: 40 }, gravityY: 0, scale: 0.2, quantity: 1, lifespan: { min: 28000, max: 30000 }, emitZone: { source: new Phaser.Geom.Line(-20, -100, 820, -100 )} }); And quantity is only one, so I do not know how to fix this.
  5. Lmon_The_Tie

    Collision Issue with phaser 3

    Hi First time posting on this forum and using Phaser 3. I am having some issues with collision between two objects which seem overlap if the player is moving left or right. However the player can jump on top of the object without going through it. Any help would be greatly appreaciated. My Code: Main Class let phase; let plr; let config = { type: Phaser.AUTO, width: 800, height: 600, physics: { default: 'arcade', arcade: { gravity: { y: 0 }, debug: true } }, scene: { preload: preload, create: create, update: update } }; phase= new Phaser.Game(config); function preload (){ this.load.image('Ground','src/assets/Tiles/ground/ground01.png'); // this.load.image('bg1','src/assets/BG/BG.png'); // this.load.image('fox','src/assets/Object/Mushroom_1.png'); } function create (){ this.add.image(500,100,'bg1').setScale(1.50); plr = new Player(); platform = this.physics.add.staticGroup(); platform.create(191,550,'Ground').refreshBody(); platform.create(319,550,'Ground').refreshBody() platform.create(420,550,'Ground').refreshBody() platform.create(800,550,'Ground').refreshBody() this.physics.add.collider(plr.sprite,platform); //this.physics.add.collider(plat.sprite2,plr.sprite); //this.physics.add.overlap(plr.sprite,plat.sprite2,null,plat); // console.log(plat.sprite2); console.log(plr); cursors = this.input.keyboard.createCursorKeys(); } function update(){ if (cursors.up.isDown) { plr.jumpM(); } else if(cursors.right.isDown){ plr.rightM(); } else if(cursors.left.isDown){ plr.leftM(); } else if(cursors.down.isDown){ plr.sprite.y +=10; } } Player Class class Player { constructor() { const playerSprite = game.physics.add.sprite(300, 600, 'fox'); playerSprite.setCollideWorldBounds(true); playerSprite.setOrigin(0, 0); playerSprite.setGravity(0, 450); this.sprite = playerSprite; } leftM() { this.sprite.x += -3; } rightM() { this.sprite.x += 3; } jumpM() { this.sprite.y += -5; } getYV() { return this.sprite.y; } getXV() { return this.sprite.x; } }
  6. I have this code: scene.physics.add.overlap(spears.children.entries[numberOfSpearThrowerMachines], platforms, stopSpear, null, this); function stopSpear(number) { spears.children.entries[number].setVelocityX(0); } I am trying to send a parameter to the function stopSpear when calling it. Like this: scene.physics.add.overlap(spears.children.entries[numberOfSpearThrowerMachines], platforms, stopSpear(numberOfSpearThrowerMachines), null, this); but this does not work obviously, so how do I do it instead?
  7. Game Link: Vocab RPG Vocab RPG is an Online RPG about catching Monsters & collecting Vocabulary Cards! Features: Open world with unique zones to explore MMO: Online multiplayer Monsters: Hunt, battle, and catch many unique monsters! Crafting: Collect different resources and use them to craft items & consumables Language Learning: Unlock vocabulary cards! Currently 4 vocabulary languages to choose from: Chinese, German, Japanese, Russian Overview: In Vocab RPG, you have all the elements of a monster-focused RPG: Hunting, fighting, catching, levelling, crafting, etc. But for every action that you take in the game, it will show you a vocabulary card! As a consequence, the more words you know, the stronger you also become in the game. The game starts very slowly with only 3 words unlocked. But as you progress in the game, you can unlock more cards and expand your vocabulary - at your own pace. Difficulties: To take into account different learning preferences, you can pick your challenge by choosing from 4 difficulty settings: - Normal: Wrong answers reduce your monster's attack or consumables (such as potions) by 25%. - Casual: Even if you answer wrong, you will attack and operate at 100% effectiveness. In other words, you see the cards but there is no consequence for answering wrong. - Hardcore: When you answer wrong, your monster's attack will fail! So answering wrong means 0 damage dealt. - Off: I also want people to enjoy this game, even when they are not really in the mood for studying vocabulary cards right now.... select 'Off' and you will not see any vocabulary cards in the game! Platform: Thanks to the power of Phaser 3, you can play this game on any device in your browser. No installation required. The game is mobile optimized, so whether you play on your laptop or phone / tablet, is only a matter of your preference. Game Link: If you are interested in trying the game, you can jump right into it: Vocab RPG Feedback: Any feedback is much appreciated! We also have a Discord server for the game where players are exchanging ideas, reporting bugs, and giving feedback: Vocab RPG Discord Credits: The game uses a lot of CC0 assets (like the monster sprites in this post) from various artists. I keep a list of all used assets here (which is also accessible from directly inside the game): Credits List
  8. Christian981

    Friction - Phaser 3

    I'm making a game in phaser 3 using the arcade physics and I want the player to be able to move boxes. The player can move the boxes right now but they are to light. Can I solve this with friction between the boxes and the platforms, and if so how do I do that? Here is my code: platforms = this.physics.add.staticGroup(); platforms.create(180, 588, 'platform3').setScale(0.5).refreshBody(); platforms.create(580, 450, 'platform4').setScale(0.5).refreshBody(); platforms.create(980, 450, 'platform4').setScale(0.5).refreshBody(); platforms.create(1280, 450, 'platform4').setScale(0.5).refreshBody(); boxes ={ key: 'box', repeat: 9, setXY: { x: 100, y: 0, stepX: 180 } }); this.physics.add.collider(boxes, platforms); this.physics.add.collider(boxes, boxes);
  9. This is how far I got. I want the animation(dragon-attack) to complete when the player hits the dragon and then continue the 'dragon-fly' animation. What would be a solution? function preload() { this.load.spritesheet('dragon', 'assets/demon-idle.png', { frameWidth: 160, frameHeight: 144 }); this.load.spritesheet('dragon-attack', 'assets/demon-attack.png', { frameWidth: 240, frameHeight: 192 }); } function create() { dragon = this.physics.add.sprite(400, 300, 'dragon'); dragon.setBounce(0.4); dragon.setCollideWorldBounds(true); dragon.setDisplaySize(100, 100); this.anims.create({ key: 'dragon-attack', frames: this.anims.generateFrameNumbers('dragon-attack', { start: 0, end: 10 }), frameRate: 10, repeat: -1 }); this.anims.create({ key: 'dragon-fly', frames: this.anims.generateFrameNumbers('dragon', { start: 0, end: 5 }), frameRate: 10, repeat: -1 }); this.physics.add.collider(player, dragon, meetsDragon, null, this); } function meetsDragon(player, dragon) { playerHealth -= 10;'dragon-attack', true); } thanks for your help!
  10. Trekin

    Phaser 3 Pinball mechanics

    Hello all! I'm new to Phaser and trying to create my first game using Phaser 3 and Matterjs. I'm trying to create a simple pinball game but I'm having some trouble with the flippers. I've started by trying to modify the Circular Body example (\physics\matterjs\circular body.js). I'm trying to use the ground like a singular flipper. The example has the ground/flipper set to static which I don't think is right for my purpose. I've looked at some phaser/p2 stuff and it looks like some people have made flippers by setting the mass to 9999, gravity to 0. Is this the best way to create a flipper or does Phaser 3/Matterjs have a different way of creating this effect? Thanks for your help!
  11. Hi everyone, I'm working on a javascript clone of superhexagon ( in order to learn to use Phaser 3. I was wondering what was the best way to generate the same shape multiple time with some rotation tweek and animate them. I need generate them, display them, once they display I need to be able to rotate them and scale them down. Once their scale <= 0 I need to hide and destroy them. I know I need to build a kind of Factory but I can't figure out how to do it with gameObj.add.arc Could you point a part of doc or source code I can dig in to find a solution? I created a pen here Thanks in advance ! Paul.
  12. veryeviltomato

    Free Atlas Packer for Phaser 3 users!

    I created a tool alongside Gammafp which could be useful for Phaser 3 users. Gammafp thought of how useful a free Atlas Packer would be for Phaser users. The tool can create atlas.json files from imported spritesheets and sprites. It was very recently developed so you could expect to run into some issues, please let us know! How to use: - You can import sprites or spritesheets depending of your resources. - You can add more sprites or spritesheets too if you missed any file or wish to combine animations. - Once the pictures are correctly displayed, you can click the save button. - This will download a .zip file containing both the sprite files and .JSON file set up. - Done! LINK FOR THE ONLINE TOOL Important: There's an animator section but it's far from complete, this section will be further developed depending on the reception and feedback of this tool! Gammafp programmed the tool and I made the art for most icons!
  13. My image keeps displaying as a green box with a cross through it, even though I'm nearly exactly the same loader event code given in the examples given here and here. My code looks something like this, but for some reason the image is always displayed as a geen box with a line through it, as though it failed to load the image correctly. Any insights as to what this might be? I promise it's not a typo! var config = { type: Phaser.AUTO, width: 1000, height: 600, scene: { preload: preload, create: create, pack: { files: [ { type: 'image', key: 'loading', url: 'assets/laptop.png' } ] } } }; var game = new Phaser.Game(config); function preload () { loading = this.add.image(500, 300, 'loading'); var progress =; this.load.on('progress', function (value) { progress.clear(); progress.fillStyle(0xffffff, 1); progress.fillRect(300, 270, 800 * value, 60); }); this.load.on('complete', function () { progress.destroy(); loading.destroy(); }); //...load other files } .
  14. Hey Folks, I hope you can help. I am fairly new to Phaser 3 and am currently working on a platformer where my character can run, jump and collect collectibles. My game is modularised through WebPack everything else is plain JS along with the Phaser 3 framework. I am using Tiled where I export my levels as json files and the initial level loads perfectly with all collision tiles in place and working as expected. I've hit a road block with loading/starting new levels. I'll try and explain with my code to clarify. I've reduce the code significantly to make it easier to read. main.js: Entry file // Main.js import 'phaser'; import { Cave } from 'scenes/cave'; import { Playground } from 'scenes/playground'; var config = {...}, scene: [Cave,Playground] }; var game = new Phaser.Game(config); Cave.js. For the sake of conciseness, I've placed the this.scene.start in the update function so the new scene initialisation happens immediately. MapSetup function is further down. // Cave.js import 'phaser'; import MapSetup from 'modules/map-setup.js'; import CollectibleSetup from 'modules/collectible-setup.js'; const mapSetup = new MapSetup(); const collectibleSetup = new CollectibleSetup(); export class Cave extends Phaser.Scene { constructor () {super('Cave')} preload() { this.load.tilemapTiledJSON('map', 'assets/levels/cave/cave.json');// map made with Tiled in JSON format this.load.spritesheet('cave', 'assets/levels/cave/cave.png', {frameWidth: 64, frameHeight: 64});// tiles in spritesheet } create() { // Setup up map for this scene/level var mapObj = mapSetup.sceneMap(this, 'map', 'cave', 'world') =; this.physics.add.overlap(this.player, this.stars, collectibleSetup.collectStar, null, this); }// create update () { this.scene.start('Playground') } Playground.js // Playground.js export class Playground extends Phaser.Scene { constructor () {super('Playground')} preload() { this.load.tilemapTiledJSON('map', 'assets/levels/playground/map.json');// map made with Tiled in JSON format this.load.spritesheet('tiles', 'assets/levels/playground/tiles.png', {frameWidth: 70, frameHeight: 70});// tiles in spritesheet } create() { // Setup up map for this scene/level var mapObj = mapSetup.sceneMap(this, 'map', 'tiles', 'World') =; this.physics.add.overlap(this.player, this.stars, collectibleSetup.collectStar, null, this); }// create } MapSetup.js. The issue occurs here when the PlayGround scene is initiated. import 'phaser'; export default class MapSetup { sceneMap (ctx, key, tileSetImage, dynamicLayer) { // Map var map = ctx.make.tilemap({key: key}); console.log('map',map) // tiles for the ground layer -` var groundTiles = map.addTilesetImage(tileSetImage); // create the ground layer - layers[i].name var groundLayer = map.createDynamicLayer(dynamicLayer, groundTiles, 0, 0); // the player will collide with this layer groundLayer.setCollisionByExclusion([-1]); // set the boundaries of our game world = groundLayer.width; = groundLayer.height; return {map:map, groundTiles:groundTiles, groundLayer:groundLayer} } } I'll try and explain the issue as I understand it. When Playground is initiated, the following error fires in the console and it's because the the groundTiles & groundLayer variables return null so the setCollisionByExclusion doesn't work. When I console.log the map variable that get's assigned in the sceneMap function it returns: The tileset name is still referencing the cave json object and not the playground one. I don't understand why that is. My understanding is that a scene is automatically stopped when a new scene is started and that each scene is it's own class so i'm a bit baffled as to why previous references are still in place. What am I missing? Any help would be much appreciated. Thanks, All Moe
  15. Hi All, To wrap gameobjects around the screen for asteroids clone, I have used arcade physics from asteroids movement.js example., 32); Do you know if I can find or develop a similar function that will work for matter physics? Something like..., 32);
  16. Splashsky

    Grid-based Movement?

    Hey guys! I'm new to Phaser development, to JavaScript as a whole, and to any graphical game development whatsoever. Physics and such elude me still. I've set up a simple tilemap and lil character that you can move around. The collisions and boundaries work fantastically. Buuuut, I need grid-based movement! Think Pokemon, and other JRPGs that move you along a grid and never diagonally. I can more or less snap to the grid right now. The grid is 32x32 (sprite is as well) and I currently work movement like this... function update(time, delta) { const speed = 175; const preVelocity = player.body.velocity.clone(); // stop all velocity from previous frame player.body.setVelocity(0); snapToGrid(player); // horizontal movement if (controls.left.isDown) { player.x -= 32; } else if (controls.right.isDown) { player.x += 32; } // vertical movement if (controls.up.isDown) { player.y -= 32; } else if (controls.down.isDown) { player.y += 32; } // ensure that a player doesn't move faster diagonally player.body.velocity.normalize().scale(speed); if (controls.left.isDown) {"walk-left", true); } else if (controls.right.isDown) {"walk-right", true); } else if (controls.up.isDown) {"walk-up", true); } else if (controls.down.isDown) {"walk-down", true); } else { player.anims.stop(); // if we were moving, pick and idle frame to use if (preVelocity.x < 0) player.setTexture("cAtlas", "left1"); else if (preVelocity.x > 0) player.setTexture("cAtlas", "right1"); else if (preVelocity.y < 0) player.setTexture("cAtlas", "up1"); else if (preVelocity.y > 0) player.setTexture("cAtlas", "down1"); } } But the character zooms around like a caffeine-loaded kid on crack. It also ignores collision with boundaries, though it was working before when I didn't implement incrementing x and y by 32. How would you go about implementing grid-based movement into a game, while honoring collisions?
  17. Hi! I’m new to Phaser 3 and I’m testing a lot of things to create a little platformer, right now I’m using Tiled, and I already did tiles that collide with the player, but I don’t know how to avoid colliding with the bottom part of these tiles. So I’m asking for help. Thanks.
  18. Hey All, I hope you can help me. I'm quite new to Phaser. I've looked all over google and couldn't find an answer to my question. I have an idea for a Tetris-like game. At the moment I'm learning the basics by setting up a single block to fall on the floor before another single block falls after it. The block falls from the air onto the ground just fine. The issue is: I simply want to have a collision call back happen once. I've simplified the code to make the question easier to read: function create () { this.physics.add.collider(block, ground, hitFloor, null, this); } function hitFloor () { console.log('floor hit'); } The block hits the floor and the callBack runs infinitely which makes sense because the block doesn't move and stays on the floor. I was considering setting a flag with a variable like `floorHit`. Something like: function hitFloor() { if (!floorHit) { console.log('do something') floorHit = true } } But I want to have multiple blocks fall and this won't work because the new block that gets created needs to have the `floorHit` variable set to false before it starts falling. What am I missing? Any help would be much appreciated. Thanks MHC
  19. I'm new to Phaser 3 and JS in general, so I apologize if I come off super noobish. I'm trying to wrap my head around animations and how to get specific data from an animation (like, frame number, image/frame displayed on pause) I have a sprite sheet that holds all the animations. Each of the six animations is only 2 frames. I have serious limitations in terms of size and how I pack the final "game" (I'm trying to meet facebook's playable ad requirements - a single html file - so I'm using the "assets as data uri" template as a starting point.) Below is how I am handling my animation (I feel as though it's wrong) I searched for examples of how to trigger the next animation when an animation is complete. function createGameObjects () { bg = this.add.image(512, 512, 'bg'); logo = this.add.image(512, 920, 'logo'); popUp = this.add.image(512, 460, 'popUp'); popUp.depth = -1; /* var data = this.cache.json.get('itemsData'); this.anims.fromJSON(data); */ let gearHelm = { key: 'helm', frames: this.anims.generateFrameNumbers('items', { frames: [1, 8, 8, 8, 8, 8, 8 ] }), frameRate: 12, repeat: -1 }; let gearTop = { key: 'top', frames: this.anims.generateFrameNumbers('items', { frames: [7, 11, 7, 7, 7, 7, 7] }), frameRate: 12, repeat: -1 }; let gearPants = { key: 'pants', frames: this.anims.generateFrameNumbers('items', { frames: [ 5, 5, 9, 5, 5, 5, 5] }), frameRate: 12, repeat: -1 }; let gearBoots = { key: 'boots', frames: this.anims.generateFrameNumbers('items', { frames: [0, 0, 0, 4, 0 ,0, 0] }), frameRate: 12, repeat: -1 }; let gearRing = { key: 'ring', frames: this.anims.generateFrameNumbers('items', { frames: [2, 2, 2, 2, 6, 2, 2] }), frameRate: 12, repeat: -1 }; let gearSword = { key: 'sword', frames: this.anims.generateFrameNumbers('items', { frames: [ 10, 10, 10, 10, 10, 3, 10] }), frameRate: 12, repeat: -1 }; this.anims.create(gearHelm); this.anims.create(gearTop); this.anims.create(gearBoots); this.anims.create(gearPants); this.anims.create(gearRing); this.anims.create(gearSword); // timed event to handle animation timedEvent = this.time.addEvent({ delay: 0, callback: onEvent, callbackScope: this, loop: false }); // log anim item console.log(gearSword); } // update function frameUpdateCallback (sprite, animation) { } // on event function onEvent () { this.add.sprite(512, 192, 'items').play('helm'); this.add.sprite(768, 320, 'items').play('top'); this.add.sprite(768, 576, 'items').play('pants'); this.add.sprite(512, 704, 'items').play('boots'); this.add.sprite(256, 576, 'items').play('ring'); this.add.sprite(256, 320, 'items').play('sword'); // pause on click / touch var _anims = this.anims; this.input.on('pointerup', function () { if (_anims.paused) { _anims.resumeAll(); animStopped = false; console.log(animStopped); popUp.depth = -1; bg.setAlpha(1); } else { _anims.pauseAll(); animStopped = true; console.log(animStopped); console.log(_anims.key); popUp.depth = 4; bg.setAlpha(0.5); } }); } I've also attached an animated gif to show what I am trying to achieve. Animation loops and continues until user clicks - then a popup shows. I would like to display the image of the animation frame within the popup box based on where it's paused at. So if I click and stop on item 6 - then display popup with item 6. Again excuse my noobish question which I'm sure is rather easy - I'm trying, and eager to learn. PS - I am coming from Construct :)~ Thanks in advance!
  20. EDIT Oct. 1st, 2018: EDIT Oct. 5th, 2018: A better way to create these fade-in transitions is to use: this.cameras.main.fadeIn() ------------------------------------------------------------------------------------------- Since Phaser 3.12.0 and 3.13.0 I have this weird error: This error / warning is not displayed in Phaser 3.11.0. With the exact same code, I just loaded an older Phaser version and no error / warning displayed whatsoever. I did some research online and apparently this warning is shown when you render a texture before it was fully loaded into the cache. However, this error is thrown when I create a graphics object - and not a sprite or image - as follows: let width = 288; let height = 480; let g ={ x: 0, y: 0 }); g.fillStyle('0x000000'. 1); g.fillRect(0, 0, width, height); Does anyone know if this is a bug in the newer Phaser 3 versions (as of today: V 3.12.0 and V 3.13.0) or is it linked to a new feature that I'm handling wrong? Thanks!
  21. I want to make a simple 2D game using Phaser 3, but I want it to be available on mobile and the web browser. What is the best way to scale my game and make it responsive? This game is a good example of a responsive canvas.
  22. I'm a newcomer to Phaser 3 and I'm having difficulty getting my user-defined classes to work with physics.add.overlap. I've defined a class Goal that extends Phaser.Physics.Arcade.Image. I've created two instances of this class and they appear in the game window as expected. They also respond to Tweening correctly. However, I haven't yet been able to detect an overlap between the two images with the physics engine. I've been trawling the Phaser 3 docs for hours, but I haven't had much luck. The only solution I've found is creating the goals with the physics.add.image method, but the entire point of this exercise for me was to utilize OOP. Any suggestions? const gameConfig = { parent: 'phaser-app', type: Phaser.CANVAS, width: 320, height: 320, physics: { default: 'arcade' }, scene: { preload: preload, create: create } } var game = new Phaser.Game(gameConfig); class Goal extends Phaser.Physics.Arcade.Image { constructor(scene, position) { super(scene, position.x, position.y, 'goal'); scene.children.add(this); } } function preload() { this.load.image('goal', 'assets/goal.png'); } function create() { var goal1 = new Goal(this, new Phaser.Geom.Point(160, 128)); var goal2 = new Goal(this, new Phaser.Geom.Point(32, 128)); this.physics.add.overlap(goal1, goal2, test); this.tweens.add({ targets: goal2, x: 224, y: 128, duration: 500, }); function test(goal1, goal2) { console.log('This works!'); } }
  23. Antriel

    3 Minute Adventure

    A short interactive story. Get equipment, go fight a dragon, talk with a princess. Epic adventure. Created using Phaser 3 and Haxe, with custom (and for now very simple) "narration engine story" language for writing the actual story in and compiling down to data the game uses to handle the interactions. Play the game here: You can put the game on your portal using this url. The game is also available for licensing.
  24. Hi, I'm having trouble with browsers blocking popups. I know the rule is that it needs to be in response to a user action. Is this a bug with phaser? this.input.on('pointerdown', (pointer, targets) => {'', '_blank'); }); Thanks
  25. Hello game developers, this is my first post on this forum, so let me introduce myself first. My name is Michael, I am 21 years old and located in Germany. I love programming and starting to get involved in game programming. I already build a little prototype for the game where you can move the main character in front of a background image: For this game development project, I gonna use JavaScript and the Phaser 3 framework for the first time. The type will be a 2D side-scroller. The story, animation, art and sound assets are not a problem, so I am only looking for someone who knows or is willing to learn JavaScript and the usage of Phaser 3. If you are interested PM me on this forum. Have fun, Michael