nothing Posted July 11, 2017 Share Posted July 11, 2017 Console gives me this error Velocity undefined in "bullet.body.velocity.x = 400; and bullet.body.velocity.y = -400;" function create() { //create sprites and other things game.physics.startSystem(Phaser.Physics.ARCADE); // nastavuje fyziku // Hráč ball = game.add.sprite(game.world.width * 0.5, game.world.height - 30, 'ball'); // umístění hráče a určování názvu jeho objektu ball.anchor.set(0.5); // složité na vysvětlení a také nedůležité game.physics.enable(ball, Phaser.Physics.ARCADE); // nastasvování fyziku hráče ball.body.collideWorldBounds = true; // hráč neprojde zdí ball.body.bounce.set(1); // nemám ponětí co to je ball.body.gravity.y = 1000; // nastavuje gravitaci pro hráč // Platformy platforms = game.add.physicsGroup(); // vytvoří skupinu platforem /*platforms.create(500, 150, 'platform'); //%%%%%%%%%%%%%%%%%%%%%%%%%%% platforms.create(200, 300, 'platform'); //% Rendruje platformy % platforms.create(400, 400, 'platform');*/ //%%%%%%%%%%%%%%%%%%%%%%%%%%% platforms.setAll('body.immovable', true); // platformy jsou nepohyblivé (lze odstranit, ale platformy budou odjíždět od hráče jakmile do nich narazí) // Platformy 2 bullet = game.add.group(); bullet.enableBody = true; bullet.physicsBodyType = Phaser.Physics.ARCADE; bullet.createMultiple(30, 'bullet'); bullet.setAll('anchor.x', 0.5); bullet.setAll('anchor.y', 1); bullet.setAll('outOfBoundsKill', true); bullet.setAll('checkWorldBounds', true); game.physics.arcade.enable(bullet) //game.physics.enable(bullet, Phaser.Physics.ARCADE); platforms2 = game.add.physicsGroup(); // vytvoří skupinu platforem 2 // %%%%%%%%%%%%%%%%%%%%%%%%%%% platforms2.create(800, 375, 'platform2'); //% Rendruje platformy 2 % platforms2.create(900, 375, 'platform2'); //%%%%%%%%%%%%%%%%%%%%%%%%%%% platforms2.setAll('body.immovable', true); // platformy 2 jsou nepohyblivé (lze odstranit, ale platformy budou odjíždět od hráče jakmile do nich narazí) // Podlaha floar = game.add.sprite(game.world.width * 0.5, game.world.height - 10, 'floar'); // přidá sprite podlaha floar.anchor.set(0.5, 1); // složité na vysvětlení a také nedůležité game.physics.enable(floar, Phaser.Physics.ARCADE); // podlaha je nastavena jako objekt se základními vlastnostmi herní fyziky floar.body.immovable = true; // s podlahou nelze hýbat game.physics.enable(floar, Phaser.Physics.ARCADE); // nastavuje fyziku cursors = game.input.keyboard.createCursorKeys(); /*key2 = game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR); key2.onDown.add(moveup, this);*/ /*key3 = game.input.keyboard.addKey(Phaser.Keyboard.THREE); key3.onDown.add(moveright, this);*/ jumpButton = game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR); fireButton1 = game.input.keyboard.addKey(Phaser.KeyCode.ONE); } function update() { //cyklus game.physics.arcade.collide(ball, floar); // objekt ball nemůže procházet objektem floar game.physics.arcade.collide(ball, platforms); // // objekt ball nemůže procházet objektem platforms game.physics.arcade.collide(ball, platforms2); // // objekt ball nemůže procházet objektem platforms2 //================================================================ //= Ovládání = //================================================================ if (ball.body.onFloor() || ball.body.touching.down) { //tato podmínka určuje zda je hráč ve vzduchu || pokud ano tak ball.body.velocity.x = 0; // | if (cursors.left.isDown) { // facing = "left"; ball.body.velocity.x = -250; // | } else if (cursors.right.isDown) { // pokud ne tak normální ovládání facing = "right"; ball.body.velocity.x = 250; } } else { if (ball.body.velocity.x < 0) { if (cursors.right.isDown && -20 > ball.body.velocity.x) { // pokud ne tak normální ovládání facing = "right"; ball.body.velocity.x = ball.body.velocity.x + 5; } else if (cursors.left.isDown) { facing = "left"; ball.body.velocity.x = ball.body.velocity.x - 5; } } else if (ball.body.velocity.x != 0) { if (cursors.left.isDown && ball.body.velocity.x > 20) { facing = "left"; ball.body.velocity.x = ball.body.velocity.x - 5; } else if (cursors.right.isDown) { // pokud ne tak normální ovládání facing = "right"; ball.body.velocity.x = ball.body.velocity.x + 5; } } } if(fireButton1.isDown){ if(facing == "left"){ bullet = bullets.getFirstExists(false); bullet.reset(ball.x, ball.y + 8); bullet.body.velocity.y = -400; }else{ bullet.create(ball.x - 10, ball.y - 10, 'bullet') bullet.body.velocity.x = 400; } } /*else if (ball.body.velocity.x == 0) { }*/ if (jumpButton.isDown && (ball.body.onFloor() || ball.body.touching.down)) { // SKÁKÁNÍ ball.body.velocity.y = -500; } else if (ball.body.onFloor() || ball.body.touching.down) { ball.body.velocity.y = 0; } } Link to comment Share on other sites More sharing options...
squilibob Posted July 12, 2017 Share Posted July 12, 2017 bullets is never defined did you mean to call the group bullets ? Link to comment Share on other sites More sharing options...
Recommended Posts