Javascript 设置一次相位器的动画

Javascript 设置一次相位器的动画,javascript,phaser-framework,Javascript,Phaser Framework,我和Phaser一起工作。这是我的密码: // var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { create: create }); var game = new Phaser.Game(1000, 500, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update:

我和Phaser一起工作。这是我的密码:

 // var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { create: create });
var game = new Phaser.Game(1000, 500, Phaser.AUTO, 'phaser-example', {
        preload: preload,
        create: create,
        update: update
    });

var bmd;
var map;
var layer;
var marker;
var currentTile = 0;
var cursors;
var player;
var facing = 'left';
var jumpTimer = 0;
var jumpButtonSpacebar;
var sizeOfPlayer = 0.5;

function preload()
{
    game.load.atlasJSONHash('kisameSprite', 'assets/sprites/kisameSpriteSheet/kisameSpriteSheet.png', 'assets/sprites/kisameSpriteSheet/kisameSpriteSheet.json');
    game.load.image('back', 'assets/images/back.jpg');
}

function create()
{
    game.add.tileSprite(0, 0, 1000, 600, 'back');

    //  Creates a blank tilemap
    map = game.add.tilemap();

    //  This is our tileset - it's just a BitmapData filled with a selection of randomly colored tiles
    //  but you could generate anything here
    bmd = game.make.bitmapData(32 * 25, 32 * 2);

    var colors = Phaser.Color.HSVColorWheel();

    var i = 0;

    for(var y = 0; y < 2; y++)
    {
        for(var x = 0; x < 25; x++)
        {
            bmd.rect(x * 32, y * 32, 32, 32, colors[i].rgba);
            i += 6;
        }
    }

    //  Add a Tileset image to the map
    map.addTilesetImage('tiles', bmd);

    //  Creates a new blank layer and sets the map dimensions.
    //  In this case the map is 40x30 tiles in size and the tiles are 32x32 pixels in size.
    layer = map.create('level1', 50, 50, 32, 32);

    //  Populate some tiles for our player to start on
    map.putTile(30, 2, 10, layer);
    map.putTile(30, 3, 10, layer);
    map.putTile(30, 4, 10, layer);

    map.setCollisionByExclusion([0]);

    //  Create our tile selector at the top of the screen
    createTileSelector();

    player = game.add.sprite(64, 100, 'kisameSprite', 'stance/0.png');
    player.scale.setTo(sizeOfPlayer);
    game.physics.arcade.enable(player);
    game.physics.arcade.gravity.y = 350;

    player.body.bounce.y = 0.1;
    player.body.collideWorldBounds = true;

    player.animations.add('attack', Phaser.Animation.generateFrameNames('attack/', 0, 5, '.png', 1), 10, false, true);
    player.animations.add('left', Phaser.Animation.generateFrameNames('run/', 0, 4, '.png', 1), 10, true, true);
    player.animations.add('idle', Phaser.Animation.generateFrameNames('stance/', 0, 3, '.png', 1), 10, true, true);
    player.animations.add('right', Phaser.Animation.generateFrameNames('run/', 0, 4, '.png', 1), 10, true, true);
    player.animations.add('jump', Phaser.Animation.generateFrameNames('jump/', 0, 3, '.png', 1), 10, false, true);

    cursors = game.input.keyboard.createCursorKeys();
    jumpButtonSpacebar = game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR);

    game.input.addMoveCallback(updateMarker, this);

}

function update()
{
    game.input.keyboard.onDownCallback = somethingWasPressed;

    game.physics.arcade.collide(player, layer);

    player.body.velocity.x = 0;

    if(cursors.left.isDown)
    {
        player.body.velocity.x = -150;

        if(facing != 'left')
        {
            player.scale.setTo(-sizeOfPlayer, sizeOfPlayer);
            player.animations.play('left');
            facing = 'left';
        }
    }
    else if(cursors.right.isDown)
    {
        animateRunRight();
    }
    else
    {
        if(facing != 'idle')
        {
            player.animations.play('idle');

            if(facing == 'left')
            {
                player.frame = 5;
            }
            else
            {
                player.frame = 5;
            }

            facing = 'idle';
        }
    }

    if(jumpHasToOccur())
    {
        player.body.velocity.y = -250;

        player.animations.play('jump');

        game.time.events.add(Phaser.Timer.SECOND * 1.450, function(){player.animations.play('idle');}, this);

        jumpTimer = game.time.now + 750;
    }

}

function somethingWasPressed(keyCode)
{
    if(keyEqualTo(keyCode, "a"))
    {animateAttack();}
}

function keyEqualTo(keyCode, key)
{
    var equalKey = (keyCode.key == key);
    return equalKey;
}

function beIdle()
{
    if(facing != 'idle')
    {
        player.animations.play('idle');

        if(facing == 'left')
        {
            player.frame = 5;
        }
        else
        {
            player.frame = 5;
        }

        facing = 'idle';
    }
}

function animateAttack()
{
    player.animations.play('attack');
}

function animateJump()
{
    player.body.velocity.y = -250;

    player.animations.play('jump');

    game.time.events.add(Phaser.Timer.SECOND * 1.450, function(){player.animations.play('idle');}, this);

    jumpTimer = game.time.now + 750;
}

function animateRunRight()
{
    player.body.velocity.x = 150;

    if(facing != 'right')
    {
        player.scale.setTo(sizeOfPlayer, sizeOfPlayer);
        player.animations.play('right');
        facing = 'right';
    }
}

function animateRunLeft()
{
    player.body.velocity.x = -150;

    if(facing != 'left')
    {
        player.scale.setTo(-sizeOfPlayer, sizeOfPlayer);
        player.animations.play('left');
        facing = 'left';
    }
}

function jumpHasToOccur()
{
    var jumButtonClicked = cursors.up.isDown || jumpButtonSpacebar.isDown;
    var alreadyOnFloor = player.body.onFloor() && game.time.now > jumpTimer;
    return jumButtonClicked && alreadyOnFloor;
}

function pickTile(sprite, pointer)
{

    var x = game.math.snapToFloor(pointer.x, 32, 0);
    var y = game.math.snapToFloor(pointer.y, 32, 0);

    currentTileMarker.x = x;
    currentTileMarker.y = y;

    x /= 32;
    y /= 32;

    currentTile = x + (y * 25);

}

function updateMarker()
{

    marker.x = layer.getTileX(game.input.activePointer.worldX) * 32;
    marker.y = layer.getTileY(game.input.activePointer.worldY) * 32;

    if(game.input.mousePointer.isDown && marker.y > 32)
    {
        map.putTile(currentTile, layer.getTileX(marker.x), layer.getTileY(marker.y), layer);
    }

}

function createTileSelector()
{

    //  Our tile selection window
    var tileSelector = game.add.group();

    var tileSelectorBackground = game.make.graphics();
    tileSelectorBackground.beginFill(0x000000, 0.8);
    tileSelectorBackground.drawRect(0, 0, 800, 66);
    tileSelectorBackground.endFill();

    tileSelector.add(tileSelectorBackground);

    var tileStrip = tileSelector.create(1, 1, bmd);
    tileStrip.inputEnabled = true;
    tileStrip.events.onInputDown.add(pickTile, this);

    //  Our painting marker
    marker = game.add.graphics();
    marker.lineStyle(2, 0x000000, 1);
    marker.drawRect(0, 0, 32, 32);

    //  Our current tile marker
    currentTileMarker = game.add.graphics();
    currentTileMarker.lineStyle(1, 0xffffff, 1);
    currentTileMarker.drawRect(0, 0, 32, 32);

    tileSelector.add(currentTileMarker);

}
//var-game=new-Phaser.game(800600,Phaser.AUTO,'Phaser-example',{create:create});
var game=新的Phaser.game(1000500,Phaser.AUTO,“Phaser示例”{
预加载:预加载,
创建:创建,
更新:更新
});
骨密度;
var映射;
var层;
var标记;
var-currentile=0;
变量游标;
var播放器;
var facing='左';
var-jumpTimer=0;
var jumpButtonSpacebar;
var SizeOffLayer=0.5;
函数预加载()
{
game.load.atlasJSONHash('kisameSprite','assets/sprites/kisameSpriteSheet/kisameSpriteSheet.png','assets/sprites/kisameSpriteSheet/kisameSpriteSheet.json');
game.load.image('back','assets/images/back.jpg');
}
函数create()
{
game.add.tileSprite(0,0,1000,600,'back');
//创建一个空白的平铺贴图
map=game.add.tilemap();
//这是我们的tileset-它只是一个位图数据,填充了一组随机着色的Tile
//但你可以在这里创造任何东西
bmd=game.make.bitmapData(32*25,32*2);
var colors=Phaser.Color.HSVColorWheel();
var i=0;
对于(变量y=0;y<2;y++)
{
对于(变量x=0;x<25;x++)
{
bmd.rect(x*32,y*32,32,32,colors[i].rgba);
i+=6;
}
}
//将平铺集图像添加到地图
地图。添加瓷砖估计值(“瓷砖”,bmd);
//创建新的空白图层并设置地图尺寸。
//在本例中,贴图的大小为40x30分幅,分幅的大小为32x32像素。
图层=地图。创建('level1',50,50,32,32);
//填充一些互动程序,让我们的玩家开始
图.腻子(30、2、10、层);
图.腻子(30、3、10、层);
图.腻子(30、4、10、层);
map.setCollisionByExclusion([0]);
//在屏幕顶部创建平铺选择器
createTileSelector();
player=game.add.sprite(64100,'kisameSprite','stance/0.png');
player.scale.setTo(sizeOfPlayer);
游戏。物理。街机。启用(玩家);
游戏。物理。街机。重力。y=350;
player.body.bounce.y=0.1;
player.body.collizeWorldBounds=真;
player.animations.add('attack',Phaser.Animation.generateFramenes('attack/',0,5',.png',1),10,false,true);
player.animations.add('left',Phaser.Animation.generateFramenes('run/',0,4',.png',1),10,true,true);
player.animations.add('idle',Phaser.Animation.generateFramenes('stance/',0,3',.png',1),10,true,true);
player.animations.add('right',Phaser.Animation.generateFramenes('run/',0,4',.png',1),10,true,true);
player.animations.add('jump',Phaser.Animation.generateFramenes('jump/',0,3',.png',1),10,false,true);
cursors=game.input.keyboard.CreateCursorWorkeys();
jumpButtonSpacebar=game.input.keyboard.addKey(Phaser.keyboard.SPACEBAR);
game.input.addMoveCallback(updateMarker,this);
}
函数更新()
{
game.input.keyboard.onDownCallback=按下了某个按钮;
游戏。物理。街机。碰撞(玩家,层);
player.body.velocity.x=0;
if(游标。左。isDown)
{
player.body.velocity.x=-150;
如果(朝向!=“左”)
{
player.scale.seto(-sizeOfPlayer,sizeOfPlayer);
player.animations.play('left');
面向=‘左’;
}
}
else if(cursors.right.isDown)
{
animateRunRight();
}
其他的
{
如果(朝向!=“空闲”)
{
player.animations.play('idle');
如果(朝向==‘左’)
{
player.frame=5;
}
其他的
{
player.frame=5;
}
面向=‘空闲’;
}
}
如果(JumpHastOccur())
{
player.body.velocity.y=-250;
player.animations.play('jump');
game.time.events.add(Phaser.Timer.SECOND*1.450,function(){player.animations.play('idle');},this);
jumpTimer=game.time.now+750;
}
}
按下功能something(按键代码)
{
if(keyEqualTo(keyCode,“a”))
{animateAttack();}
}
功能键Equalto(键代码,键)
{
var equalKey=(keyCode.key==key);
返回equalKey;
}
函数beddle()
{
如果(朝向!=“空闲”)
{
player.animations.play('idle');
如果(朝向==‘左’)
{
player.frame=5;
}
其他的
{
player.frame=5;
}
面向=‘空闲’;
}
}
函数animateAttack()
{
player.animations.play('attack');
}
函数animateJump()
{
player.body.velocity.y=-250;
player.animations.play('jump');
game.time.events.add(Phaser.Timer.SECOND*1.450,function(){player.animations.play('idle');},this);
jumpTimer=game.time.now+750;
}
函数animateRunRight()
{
player.body.velocity.x=150;
如果(面向!=‘右’)
{
player.scale.setTo(sizeOfPlayer,sizeOfPlayer);
player.animations.play('right');
面向=‘右’;
}
}
函数animateRunLeft()
{
player.body.velocity.x=-150;
如果(朝向!=“左”)
{
player.scale.seto(-sizeOfPlayer,sizeOfPlayer);
player.animations.play('left');
面向=‘左’;
}
}
函数JumpHastOccur()
{
var jumButtonClicked=cursors.up.isDown | | jumpButtonSpacebar.isDown;
var alreadyOnFloor=player.body.onFloor()&&game.time.now>jumpTimer;
返回jumButtonClicked&&alreadyOnFloor;
}
函数pickTile(精灵、指针)
{
var x=game.math.snapToFloor(pointer.x,32,0);
var y=game.math.snapToFloor(pointer.y,32,0);
currentTileMarker.x=x;
currentTileMarker.y=y;
x/=32;
y/=32;
currentTile=x+(y*25);
}
函数updateMarker()
{
marker.x=layer.getTileX(game.input.activePointer.worldX)*32;
marker.y=layer.getTileY(game.input.activePointer.worldY)*32;
if(game.input.mousePointer.isDown&&marker.y>32)
{
map.putTile(currentile,layer.getTileX(marker.x),layer.getTileY(ma
function animateAttack()
{
    player.animations.play('attack', 60, false);
}