Phaser笔记文档阅读-Working with Phaser, TypeScript and webpack – step 1

news2024/11/18 12:46:22

首先得安装好npm和node.js。

创建一个空文件夹如:phaserwebpack,这里我使用webstorm打开,打开终端:

运行:

npm init -y

执行上面的命令成功后会自动创建package.json文件。随后安装phaser:

npm install --save phaser

这时可以在package.json中看到已经添加了phaser:

安装webpack和webpack扩展:

npm install --save-dev webpack 
npm install --save-dev webpack-cli

随后按照webpack的copy和clean插件:

npm install --save-dev copy-webpack-plugin
npm install --save-dev clean-webpack-plugin

再创建一个测试脚本:

npm install --save-dev webpack-dev-server

此时package.json如下:

{
  "name": "phaserwebpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "phaser": "^3.55.2"
  },
  "devDependencies": {
    "clean-webpack-plugin": "^4.0.0-alpha.0",
    "copy-webpack-plugin": "^9.0.1",
    "webpack": "^5.48.0",
    "webpack-cli": "^4.7.2",
    "webpack-dev-server": "^3.11.2"
  }
}

 这里有个要说明,如果安装phaser使用npm安装使用--save-dev,那么phaser就会会放到devDependencies。

dependencies:生产环境需要的依赖库;

devDependencies:开发环境需要的依赖库;

创建一个webpack.development.js

const path = require('path');
 
module.exports = {
    entry: {
 
        // this is our entry point, the main JavaScript file
        app: './src/main.js',
    },
    output: {
 
        // this is our output file, the one which bundles all libraries
        filename: 'main.js',
 
        // and this is the path of the output bundle, "dist" folder
        path: path.resolve(__dirname, 'dist'),
    },
 
    // we are in development mode
    mode: 'development',
 
    // we need a source map
    devtool: 'inline-source-map',
 
    // development server root is "src" folder
    devServer: {
        static: './src'
    }
};

上面是开发配置。

此时webpack就搭建好了,下面来写前端相关的代码:

创建新目录src,新建文件src/main.js,index.html

其中index.html代码如下:

<!DOCTYPE html>
<html>
<head>
    <script src="main.js"></script>
</head>
<body>
<div id="thegame"></div>
</body>
</html>

main.js代码如下:

import 'phaser';

class PlayGame extends Phaser.Scene {
    constructor() {
        super("PlayGame");
    }
    preload() {
        this.load.image('logo', 'assets/phaser3-logo.png');
    }
    create() {
        this.image = this.add.image(400, 300, 'logo');
    }
    update() {
        this.image.rotation += 0.01;
    }
}

let config = {
    width: 800,
    height: 600,
    parent: 'thegame',
    scene: PlayGame
};

new Phaser.Game(config);

在到src目录下创建asserts,放图片资源。如下图所示:

最后将package.json中启动脚本改成如下:

{
  "name": "PhaserWebpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "development": "webpack serve --open --config webpack.development.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "phaser": "^3.55.2"
  },
  "devDependencies": {
    "clean-webpack-plugin": "^4.0.0",
    "copy-webpack-plugin": "^11.0.0",
    "webpack": "^5.75.0",
    "webpack-cli": "^5.0.1",
    "webpack-dev-server": "^4.11.1"
  }
}

 然后启动:

chrome浏览器运行如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/554574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用性能测试工具选择所需要考虑的因素

在软件开发和应用中&#xff0c;性能问题是一个非常普遍的问题。进行性能测试已经成为了软件开发和应用必不可少的一步。而性能测试工具就是进行性能测试的关键。市面上有许多种不同类型的性能测试工具&#xff0c;如何选择合适的工具呢&#xff1f;以下是一些常用性能测试工具…

SpringCloud(注册中心)

分布式架构与微服&#xff1a;【restfu分格&#xff08;入参的分格&#xff09;---rest分格&#xff08;请求的分格&#xff09;】 微服务&#xff1a; 单体架构的应用场景&#xff1a; 微服务的应用场景&#xff1a; 上百个服务---服务于服务之间是有依赖关系的 什么是spring…

Shell运维实战1-核心与数值计算

目录 Shell 初步入门Shell 分类幻数注释 Shell 核心与实践变量引号输出特殊变量特殊状态变量bash 内置变量命令变量子串特殊扩展变量 Shell 变量数值计算实践基本算术运算符双小括号letexprbcawkread Shell 初步入门 Shell 分类 对于 Unix/Linux 两种系统&#xff0c;shell 主…

导入/导出 OpenAPI 不再是问题,这个开源管理工具可以!

导入 OpenAPI 插件 支持导入 OpenAPI 3.0 版本的文件&#xff0c;如果您使用 Swagger1.0/2.0&#xff0c;可以访问这个在线地址 转换为 3.0 再导入。 使用 导入功能有多个入口&#xff0c;你可以在 API 分组处点击加号导入 API&#xff1a; 也可以在设置页面导入 导出 OpenAP…

第17章_触发器

第17章_触发器 在实际开发中&#xff0c;我们经常会遇到这样的情况&#xff1a;有 2 个或者多个相互关联的表&#xff0c;如商品信息和库存信息分别存放在 2 个不同的数据表中&#xff0c;我们在添加一条新商品记录的时候&#xff0c;为了保证数据的完整性&#xff0c;必须同时…

Android和iOS双端赞奇超级云盘APP公测版正式上线!

赞奇云工作站自发布以来&#xff0c;经过层层迭代和升级&#xff0c;以云工作站、赞奇超级云盘、软件中心、云渲染等功能&#xff0c;更高效地整合打通各行设计业务全流程&#xff0c;实现云上数字内容创作的完美呈现&#xff0c;取得了广大用户的喜爱和认可。 现在&#xff0…

一个月节省40万核,企业级云资源分析与成本优化平台

Crane简介 Crane是一个基于 FinOps 的云资源分析与成本优化平台&#xff0c;是在保证客户应用运行质量的前提下实现极致的降本。 Crane 已经在腾讯内部自研业务实现了大规模落地&#xff0c;部署数百个 K8s 集群、管控 CPU 核数达百万&#xff0c;在降本增效方面取得了阶段性成…

数据驱动运营增长

利用数据来分析、优化和提升产品或服务的各个方面&#xff0c;从而实现业务目标的方法叫数据驱动运营增长。用好数据&#xff0c;在运营中能精准地定位用户需求、痛点、偏好和行为&#xff0c;细分用户群体以提供个性化的产品或服务&#xff0c;精细化地管理和优化每一个环节和…

操作系统原理 —— 什么是管程? 管程的概念以及作用(十六)

上一个章节中&#xff0c;我们讲了什么是信号量&#xff0c;如何用信号量来实现进程之间的同步、互斥。 但是吧&#xff0c;用信号量来实现的话&#xff0c;好麻烦哟&#xff0c;在各个进程之间都要大量的 PV 操作&#xff0c;而且操作不当一不小心就死锁了&#xff0c;为了锻…

00后薪资比老油条高,简直无地自容了...

00后带来的压力 公司一位工作3年的老油条工资还没有刚来的00后高&#xff0c;她心中不平&#xff0c;对这件事情有不小的怨气&#xff0c;她觉得自己来公司三年了&#xff0c;三年内迟到次数都不超过5次&#xff0c;每天勤勤恳恳&#xff0c;要加班的时候也愿意加班&#xff0…

Redhat7.3linux系统防火墙命令总结

在Linux系统部署皕杰报表后&#xff0c;需要关闭防火墙或者开放报表工具使用的端口&#xff0c;才能通过浏览器访问报表。 在linux中如何关闭防火墙或开启端口呢&#xff1f;基本上是基于命令操作。通过几天的实践&#xff0c;总结了有关防火墙的操作命令&#xff0c;现记录如…

雅思倒计时一个月|听力准备笔记(二)

首战雅思7.5&#xff5c;听力8.5分享 听力来啦&#xff5e;完整雅思备考攻略见之前发的喔&#xff5e; &#x1f31f;总分7.5 听力8.5 &#x1f31f;&#x1f534;【听力考什么】 雅思实用性很强 每个测试内容都与出国后生活或学习息息相关 听力考察关键信息抓取能力 在日常学…

python4行代码实现pdf转换为docx|python实现pdf与docx之间互转

本期目录 一、pdf转docx二、docx转pdf三、doc转换为docx四、xls格式转换为xlsx五、pdf批量转换成docx六、docx批量转成pdf 一、pdf转docx 将PDF 格式转换为Word格式要求很高&#xff0c;很多的转换网页需要付费、而且转换的效果不好。 在Python中&#xff0c;利用pdf2docx库可…

el-popover无法点击、点击没反应、不能正常唤起弹出框

项目场景&#xff1a; 表格内操作按钮点击后&#xff0c;刷新列表更新按钮显示状态 问题描述 点击更新状态后的那条数据操作按钮。 发现element-ui的el-popover无法点击唤出弹窗&#xff0c;但刷新页面就可以正常点击进行操作。即el-popover刷新列表后无法点击 原因分析&…

5G信道建模研究进展与展望

5G信道建模研究进展与展望 一、信道建模定义二、5G信道建模研究进展1. 5G信道建模的理论框架1.1 大尺度衰落特性1.2 小尺度衰落特性1.3 信道新特性 2. 5G信道测量平台和应用场景2.1 5G信道测量平台2.2 5G信道的应用场景 3. 5G信道特性提取与建模 三、未来6G信道建模的研究方向1…

赛效:如何修改调整GIF动图宽高尺寸

1&#xff1a;在网页上搜索踢踢零动图&#xff0c;在首页点击“GIF尺寸缩放”&#xff0c;进入该功能页面。 2&#xff1a;在操作页面上添加GIF动图。 3&#xff1a;在左侧菜单里设置宽、高&#xff0c;如果不想让动图变形&#xff0c;可以锁定比例。设置完成后&#xff0c;点击…

个人博客系统的测试报告

目录 1.项目背景2.项目功能3.测试计划3.1功能测试3.1.1 测试用例设计3.1.2 实际执行测试的部分操作步骤 3.2自动化测试3.2.1 脑图3.2.2 代码编写 1.项目背景 实现一个类似CSDN的个人博客系统 支持以下核心功能: 支持用户注册登录并设置个人信息如头像、昵称等等&#xff1b; 对…

【事务】MySql Lock wait timeout exceeded该如何处理?service层调用内部方法事务失效如何处理?

文章目录 参考文章问题描述解决办法办法1. 新增查询操作办法2. 判断实际事务场景解决办法 参考文章 MySql Lock wait timeout exceeded该如何处理&#xff1f; AopContext.currentProxy()的使用 问题描述 同一事务内包含对同一条记录进行新增、更新操作&#xff0c;导致mysq…

年薪30W的测试被开除,回怼道:“反正我有技术,在哪不一样”这种观点对吗?

一位年薪30W测试工程师被开除回怼道&#xff1a;“反正我有技术&#xff0c;在哪不一样” 一技傍身&#xff0c;万事不愁&#xff0c;当我们掌握了一技之长后&#xff0c;在职场上说话就硬气了许多&#xff0c;不用担心被炒&#xff0c;反过来还可以炒了老板&#xff0c;这一点…

Hadoop基础学习---4、HDFS写、读数据流程、NameNode和SecondaryNameNode、DataNode

1、HDFS写、读数据流程 1.1 HDFS写数据流程 1.1 剖析文件写入 1、客户端通过Distributed FileSystem模块向NameNode请求上传文件&#xff0c;NameNode检查目标文件是否已存在&#xff0c;父目录是否存在。 2、NameNode返回是否可以上传。 3、客户端请求第一个Block上传到哪几…