Jump to content

Phaser velocity


nothing
 Share

Recommended Posts

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

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...