- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
好家伙,我的包终于开发完啦 。
。
欢迎使用胖虎的飞机大战包!! 为你的主页添加色彩 。
效果图如下
(觉得图片太sb的可以自己改) 。
代码已开源!.
Git
https://gitee.com/tang-and-han-dynasties/panghu-planebattle-esm.git 。
NPM
panghu-planebattle-esm - npm (npmjs.com) 。
。
来我们来按照(我给的)文档来试一遍能不能成功导入这个游戏 。
(这tm要是失败就尴尬了) 。
。
不会的来看这一篇博客 。
。
。
。
文档地址: panghu-planebattle-esm: 胖虎的飞机大战,下载后导入,直接使用 (gitee.com) 。
。
。
诶,成了 。
。
有的人这时候就要开骂了,这什么sb作者,放个这么sb的背景 。
没关系,可以改的嘛(其实就是教你改参数) 。
在node_modules文件中找到相应的panghu-planebattle-esm包.
你自己Ctrl+Shift+F搜索也行 。
来到配置项文件config.js中 。
。
我在img中放了一张额外的背景(以备不时之需) 。
。
顺便再把所有敌机的生命调成1,然后,击杀得分调成100,直接开启无敌模式 。
。
好了,你无敌了 。
飞机都看不见直接秒杀了 。
。
。
。
这个小游戏目前还存在很多问题: 如
1. 英雄和敌机的撞击判断存在很多问题 。
// main.js中的全局方法: function checkHit() { // 遍历所有的敌机 for (let i = 0 ; i < enemies.length; i++ ) { // 检测英雄是否撞到敌机 if (enemies[i].hit(hero)) { // 将敌机和英雄的destory属性改为true enemies[i].collide(); hero.collide(); } } }
enemy对象中的hit方法(即碰撞判定方法) 。
hit(o) { let ol = o.x; let or = o.x + o.width; let ot = o.y; let ob = o.y + o.height; let el = this.x; let er = this.x + this.width; let et = this.y; let eb = this.y + this.height; if (ol > er || or < el || ot > eb || ob < et) { return false ; } else { return true ; } }
你应该看出来了,这是一个"正方形"判定,这会导致很多问题 例如,我的英雄还没有"真正"碰到敌机.
而是英雄的左上角与敌机的右下角接触 (想像两个正方形接触) 。
英雄的"身体"没有碰到敌机的"身体" 就爆炸了 。
。
这会导致后期游戏体验非常差 。
。
2. 这个游戏不够好玩 就如字面意思一样,这个游戏不够好玩 。
。
如果你碰巧看到了这篇博客 。
又碰巧对网页小游戏制作感兴趣.
又碰巧有一定的js基础 。
。
欢迎加入我的仓库,我们一起完善这个项目 。
联系我:1072253914 (QQ) 或者通过 我的博客 私信我 。
最后此篇关于我的第一个NPM包:panghu-planebattle-esm(胖虎飞机大战)使用说明的文章就讲到这里了,如果你想了解更多关于我的第一个NPM包:panghu-planebattle-esm(胖虎飞机大战)使用说明的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
第一年+ 我已经使用 esm 和 std/esm 包编写了我所有的代码,我能够无缝地使用 cjs 的依赖包,没有问题,而不需要 babel。 在 nodejs V14 中,混合的 esm/cjs 支持
我在 plunker 中有以下代码... // Thing.js export class Thing{ constructor(){ console.log("This thing is
我尝试使用 --experimental-modules 标志在 Node.js v8.7.0 中使用此语法导入 ESM 模块: import { check, validationResult }
所以我正在使用包 esm 和 module-alias,但似乎 esm 没有注册模块别名的路径。 这是我加载服务器文件的方式: nodemon -r esm ./src/index.js 8081 这
我想将 typescript react 应用程序作为组件捆绑到 ES 模块或 UMD 中。但是生成的 ES 包会产生一个无效的模块 js。 在 bundle 上它给了我这个提示。但我找不到任何解决方
我很好奇 ESM 的 tree-shaking/死代码消除是如何工作的。我在各种 Node.js 项目中使用 Typescript,并开始导出自己的 ESM 包 (tsc --module es201
我正在构建一个 webpack 应用程序,我有兴趣在整个应用程序中使用 ESM,这意味着使用 ESM 导入构建 webpack.config 文件。 我现在可以使用 Babel,但这是在 npm 添加
我想我已经阅读了 SO 上的每个线程以及互联网上的每个相关页面,一切都有一些问题 我想: 使用 webpack 捆绑我的 web 应用程序 在我的源 js 中使用 ES 模块并将它们转换为更广泛的浏览
我即将在 SMPP 上工作。我对从计算机系统到移动站的消息如何传递有基本的了解,我已经阅读了有关消息如何从 ESME 到 SMSC 再到移动站的信息。但实际上我无法理解。我的意思是,这些 (ESME
我有以下示例运行,而 JS 在其上没有捆绑器。 // index.js ;(async () => { const mod = await import('/index.json') cons
在阅读 webpack 文档中有关 tree shaking 的内容时,我遇到了这句话: In a 100% ESM module world, identifying side effects is
在阅读 webpack 文档中有关 tree shaking 的内容时,我遇到了这句话: In a 100% ESM module world, identifying side effects is
我正在开发一个 SMS 网关,我在考虑我应该在其中实现的功能。因此,我查看了一些 SMS 网关(SMSNOW、SMS studio 和 Ozeki)作为示例。 我几乎完成了实现,但我遇到了几乎所有 S
我正在尝试在 ESM 模块上使用 tone.js。 (我可以在带有 bundler 的“commonjs”中毫无问题地使用它) 在我的html中 和 tests.js: import * as To
我正在尝试获取 Esri ArcGis's NPM package与 SvelteKit 一起工作。 根据链接文档,@arcgis/core 应该是 ESM。但是,当我尝试将其导入 SvelteKit
我有以下组件: App.js import React from "react"; import { Slider } from "./Slider"; function App() { retu
当浏览器现在支持原生 ESM 时,为什么开发人员仍然需要使用像 rollup 和 webpack 这样的模块捆绑器 最佳答案 你不需要模块打包器——开发人员甚至在模块和 Webpack 存在之前就能够
我一直在尝试解决这个问题一个星期,但似乎无法真正找到问题所在。 我关注了this tutorial但我没有自己的项目结构(见下图) 在 esm.js 中: require = require("esm
我的设置 Node v14.16.0 我有一个测试文件,其中包含一个用 ESM 模块 (import) 编写的简单测试。 在 package.json我有一个脚本(遵循Jest documentati
我有一个组件库,它将发布到 npm 以供 razzle 应用程序使用。我想要对最佳实践发表意见的主要问题是,这些包应该用 cjs 还是 esm 构建,每个的缺点是什么? 我可以只构建到 cjs 吗?
我是一名优秀的程序员,十分优秀!