主页 > canvas引擎 > Phaser游戏引擎 >
来源:未知 时间:2021-07-04 15:02 作者:小飞侠 阅读:次
[导读] varconfig={type:Phaser.AUTO,width:800,height:600,parent:phaser-example,pixelArt:true,backgroundColor:#1a1a2d,scene:{preload:preload,create:create}};vargame=newPhaser.Game(config);functionpreload(){this.load.image(tiles,assets/tilemaps/tiles...
|
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
parent: 'phaser-example',
pixelArt: true,
backgroundColor: '#1a1a2d',
scene: {
preload: preload,
create: create
}
};
var game = new Phaser.Game(config);
function preload ()
{
this.load.image('tiles', 'assets/tilemaps/tiles/drawtiles-spaced.png');
this.load.image('car', 'assets/sprites/car90.png');
this.load.tilemapCSV('map', 'assets/tilemaps/csv/grid.csv');
}
function create ()
{
var map = this.make.tilemap({ key: 'map', tileWidth: 32, tileHeight: 32 });
// 将图像添加到地图中用作贴图集。一张地图可以使用多个贴图集。 注意,tile名称可以在Tiled导出的JSON文件中找到,也可以在Tiled中找到 编辑器。
// layerID很重要。如果你已经在Tiled中创建了地图,那么你就可以做到这一点 在tile中查看图层名称。或者您可以打开它导出的JSON文件和 看看层[].name值。无论哪种方式,它都必须匹配。
var tileset = map.addTilesetImage('tiles', null, 32, 32, 1, 2);
// 创建一个新的Tilemap Layer,它呈现与给定对象相关联的LayerData layerID。当前在地图中选择的层被设置为这个新层。
var layer = map.createLayer(0, tileset, 0, 0);
var player = this.add.image(32+16, 32+16, 'car');
// Left
this.input.keyboard.on('keydown-A', function (event) {
var tile = layer.getTileAtWorldXY(player.x - 32, player.y, true);
if (tile.index === 2)
{
// Blocked, we can't move
}
else
{
player.x -= 32;
player.angle = 180;
}
});
// Right
this.input.keyboard.on('keydown-D', function (event) {
var tile = layer.getTileAtWorldXY(player.x + 32, player.y, true);
if (tile.index === 2)
{
// Blocked, we can't move
}
else
{
player.x += 32;
player.angle = 0;
}
});
// Up
this.input.keyboard.on('keydown-W', function (event) {
var tile = layer.getTileAtWorldXY(player.x, player.y - 32, true);
if (tile.index === 2)
{
// Blocked, we can't move
}
else
{
player.y -= 32;
player.angle = -90;
}
});
// Down
this.input.keyboard.on('keydown-S', function (event) {
var tile = layer.getTileAtWorldXY(player.x, player.y + 32, true);
if (tile.index === 2)
{
// Blocked, we can't move
}
else
{
player.y += 32;
player.angle = 90;
}
});
} |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com