首页 > 其他分享 >我的第一个NPM包:panghu-planebattle-esm(胖虎飞机大战)使用说明

我的第一个NPM包:panghu-planebattle-esm(胖虎飞机大战)使用说明

时间:2023-04-19 10:47:22浏览次数:51  
标签:NPM 胖虎 js planebattle let esm panghu 敌机

好家伙,我的包终于开发完啦

 

欢迎使用胖虎的飞机大战包!! 为你的主页添加色彩

  • 这是一个有趣的网页小游戏包,使用canvas和js开发
  • 使用ES6模块化开发

效果图如下:

 (觉得图片太sb的可以自己改)

代码已开源!!

Git:

https://gitee.com/tang-and-han-dynasties/panghu-planebattle-esm.git

NPM:

panghu-planebattle-esm - npm (npmjs.com)

 

来我们来按照(我给的)文档来试一遍能不能成功导入这个游戏

 (这tm要是失败就尴尬了)

 

1.开一个文件夹新建一个vue项目

不会的来看这一篇博客

第六十八篇:vue-cli新建项目

 

2.进行npm安装包

 

3.去package里面检查一下

 

4.把文档里的代码复制到HelloWorld.vue文件中

文档地址:panghu-planebattle-esm: 胖虎的飞机大战,下载后导入,直接使用 (gitee.com)

 

 

诶,成了

 

5.改参数

有的人这时候就要开骂了,这什么sb作者,放个这么sb的背景

没关系,可以改的嘛(其实就是教你改参数)

在node_modules文件中找到相应的panghu-planebattle-esm包,

你自己Ctrl+Shift+F搜索也行

来到配置项文件config.js中

 

 我在img中放了一张额外的背景(以备不时之需)

 

顺便再把所有敌机的生命调成1,然后,击杀得分调成100,直接开启无敌模式

 

好了,你无敌了

飞机都看不见直接秒杀了

 

 

 

6.存在问题

这个小游戏目前还存在很多问题: 如:

  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.这个游戏不够好玩  就如字面意思一样,这个游戏不够好玩

 

7.欢迎加入我的仓库,我们一起完善这个项目

如果你碰巧看到了这篇博客

又碰巧对网页小游戏制作感兴趣,

又碰巧有一定的js基础

 

欢迎加入我的仓库,我们一起完善这个项目

联系我:1072253914 (QQ) 或者通过我的博客私信我

标签:NPM,胖虎,js,planebattle,let,esm,panghu,敌机
From: https://www.cnblogs.com/FatTiger4399/p/17330574.html

相关文章

  • 技术文档丨 OpenSCA技术原理之npm依赖解析
    本文主要介绍基于npm包管理器的组件成分解析原理。npm介绍npm(全称NodePackageManager)是Node.js标准的软件包管理器。npm的依赖管理文件是package.json,开发者可以在package.json中指定每个依赖项的版本范围。如果一个项目中存在package.json文件,便可以执行npminstall......
  • Npm
    npm的目的:解决插件冲突,基于node环境,npm可以安装第三方库!npm组成部分:1.registry:入口(可以想象他是数据库,类似将第三方放进来,谁用就来数据库拿)2.官网:https://www.npmjs.com/3.Cli:需要熟悉的npm命令了解registry:该服务器是国外的,想要在国内使用,需要重新设置registry:https://re......
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
    在新建项目时候遇到一个问题如上图,安装cnpm或者node都会报这个错误找了半天发现解决方法如下(操作如上图)1、打开终端2、在终端执行:get-ExecutionPolicy,显示Restricted(表示状态是禁止的)3、在终端执行:set-ExecutionPolicyRemoteSigned4、在终端执行:get-ExecutionPolicy,显示RemoteSig......
  • npm自定义模块及发布模块NodeJS
    在模块目录下执行:npminit(可以加--yes一键生成)新建文件index.jsvaryunan='helloyunan';module.exports=yunan;然后将文件夹放到node_modules可以用下面方法使用试试constyunan=require('huyunan');console.log('yunan',yunan);//yunanhelloyunan发布之前......
  • 盘点国内前端npm CDN替代方案,基本上可以替代unpkg、jsdelivr
    收集一波常见的加速NPM包的CDN,发现有些还是挺好用的,用来做博客或者网站加载NPM使用还是可以的。经典老牌的CDN加速unpkg.comcdn.jsdelivr.netfastly.jsdelivr.net使用方法:直接进官网,搜NPM包名使用。缺点:有时候不是很稳定,而且国内有些地方没法访问,jsdelivr曾经被用来结合......
  • npm安装时出现ERESOLVE问题
    npmi安装时,经常会出现如下错误npmERR!codeERESOLVEnpmERR!ERESOLVEunabletoresolvedependencytreenpmERR!npmERR!Whileresolving:[email protected]!Found:[email protected]!node_modules/echartsnpmERR!echarts@"^5.2.0"fromtheroot......
  • Node.js的安装以及配置npm全局模块路径和缓存路径
    Node.js的安装官方链接:https://nodejs.org/en 安装过程不赘述,注意安装路径即可。完成安装后最好配置一下npm全局模块路径和缓存路径,因为默认的npm全局模块路径和缓存路径在C盘配置npm全局模块路径和缓存路径首先,在nodejs安装路径下创建两个文件夹,作为npm全局模块路径和缓存......
  • vue 项目npm run dev(启动)时报错The service was stopped
    vue项目yarnupgrade后vitebuild报错,如何项目也运行不起来了。报错截图:解决办法:删除node_modules文件夹,然后执行yarninstall重新生成心的node_modules。......
  • pnpm 安装以及使用
    初始化--使用pnpm做包管理,本地未安装pnpm的,请先全局安装pnpm在cmd中输入npminstall-gpnpm-一般来说记这个就行常用代码启动项目(和npm一样即可)pnpmrundev|下载包(XXX)pnpminstall(XXX)遇到的问题:无法加载文件C:\Users\hp\AppData\Roaming\npm\pnpm.ps1,因为在......
  • npm、yarn、pnpm
    npm、yarn、pnpm相关链接:关于Yarn和npm:我们应该要知道的知识-知乎(zhihu.com)https://pnpm.io/zh/configuring......