怎样开发网页游戏 掘金日新计划·4月更文挑战第9天

怎样开发网页游戏 掘金日新计划·4月更文挑战第9天

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天3D植物,点击查看活动详情。

简单介绍

phaser3是一个开源的js游戏引擎,且更新活跃,是目前最受欢迎的js游戏引擎之一,它的优势在于:

接下来我会初步使用phaser进行一个rpg小游戏尝试。

1. 搭建结构

phaser3的初步框架类似这样:

html> 
<head> 
    <meta charset="UTF-8" />
    <title>rpg小游戏title>
    <script src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.js">script>
head>
<body>
<script type="text/javascript">
    var config = {
    };
    var game = new Phaser.Game(config);
    function preload (){
    }
    function create (){
    }
    function update ()
    {
    }
script>
body>
html>

所以重点是你必须在文档中导入phaser3文件,以及自己编写功能的js代码块,当然也可以将代码块写在一个js文件中,再将其导入html文档。

重点看显示功能的script代码块,基础框架由一个进行配置的config对象以及3个函数组成。可以这样理解:proload函数进行预加载资源,create函数创造功能,update函数更新游戏画面。

config配置

简单介绍一下常用的配置属性:

var config = {
	type: Phaser.AUTO,
	width: 2560,
	height: 2560,
	pixelArt: true,
	backgroundColor: "#898989",
	parent: "game-container",
	physics: {
	    default: "arcade",
	    arcade: {
	      gravity: { y: 0 }
	    }
	  },
	scene: {
		preload: preload,
		create: create,
		update: update
	}
};

preload函数

proload函数进行预加载资源,在这个rpg游戏中我们要加载地图资源,人物精灵图怎样开发网页游戏,以及其他小物件的精灵图。

function preload() {
	this.load.image("terrain", "./assets/terrain.png");
	this.load.tilemapTiledJSON('mappy', 'assets/废墟.json');
	
	// 精灵表单
	this.load.spritesheet('player',
	    'assets/player.png',
	    { frameWidth: 64, frameHeight: 60 } //一帧的宽高
	);
	//钉子,蘑菇,石头
	this.load.spritesheet('tiles_spr',
	    'assets/terrain.png',
	    { frameWidth: 128, frameHeight: 128 } //一帧的宽高
	);
}

tiled地图创建

我们要从0创建一个rpg风格的游戏怎样开发网页游戏,像这样:

image.png

就要先创造一个地图游戏策划,使用tiled这个软件,这是我们在tiled中创造的地图:

image.png

tiled的使用方法可以自行学习,我也推荐这个视频:tiled学习

下一阶段我将介绍如何在phaser3中导入tiled生成的地图文件。

文章来源:https://juejin.cn/post/7090562607073099806