Allan11 Posted August 23, 2019 Share Posted August 23, 2019 I have a function which is called on update import enemy from './enemy'; export const shoot = ({ scene }) => { scene.input.on('pointerdown', function(pointer) { if (pointer.button === 0) { gun({ scene, fromX: playerObj.x, fromY: playerObj.y, toX: pointer.position.x, toY: pointer.position.y, enemy, }); } }); }; In my gun function const gun = ({ scene, fromX, fromY, toX, toY, enemy }) => { gunPhysicsGroup = scene.physics.add.group(); bullet = scene.add.circle(fromX, fromY, 2, 0xff0000); gunPhysicsGroup.add(bullet); const delta = Math.sqrt(Math.pow(toX - fromX, 2) + Math.pow(toY - fromY, 2)); const velocityX = (speed / delta) * (toX - fromX); const velocityY = (speed / delta) * (toY - fromY); gunPhysicsGroup.setVelocity(velocityX, velocityY); //The callback here doesn't fire scene.physics.add.collider(bullet, enemy, () => console.log('heeee')); }; and an enemy is this function let enemyPhysicsGroup = null; let enemyObj = null; const enemy = ({ scene }) => { enemyPhysicsGroup = scene.add.group({ bounceX: 1, bounceY: 0.2, }); for (var i = 1; i < 10; i++) { enemyObj = scene.add.circle(300 + i * 20, 100, 10, 0xabcdef); enemyObj = scene.add.circle(300 + i * 20, 120, 10, 0xabefac); enemyObj = scene.add.circle(300 + i * 20, 140, 10, 0xeba2bc); } }; export default enemy; Everything works fine - the bullet gets fired on mouse click, the enemy is drawn but the collision between them is not registered. Any help will be appreciated. Link to comment Share on other sites More sharing options...
Recommended Posts