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

第一个,npm,panghu,planebattle,esm,飞机,大战,使用,说明 · 浏览次数 : 363

小编点评

**胖虎的飞机大战简介** **简介:** 胖虎的飞机大战是一款简单的网页小游戏,使用canvas和js开发,游戏玩法简单易懂,但难度适中。 **安装和运行:** 1. 下载并安装Vue.js和npm。 2. 创建一个新vue项目并安装游戏代码:`vue-cli new panghu-planebattle-esm` 3. 在`src/main.js`中添加游戏代码: ```javascript import './panghu-planebattle-esm.css' export default { //游戏逻辑代码 } ``` 4. 在`src/img.vue`中添加背景图片: ```html ``` **游戏玩法:** 玩家控制一个飞机,必须与敌机进行战斗。游戏使用的是方形碰撞判定,当飞机与敌机相撞时,敌机和飞机的属性改为true,游戏结束时显示得分。 **问题解决方案:** 1. **碰撞检测问题:** 由于游戏使用了方形碰撞判定,英雄和敌机之间可能进行错误的碰撞检测。 2. **游戏玩法不够有趣:** 游戏玩法简单易懂,容易导致重复。 3. **背景图片大小问题:** 对于低分辨率设备,背景图片可能过大,影响游戏体验。 **注意:** * 游戏代码已开源,您可以参考以更深入的了解:Git:https://gitee.com/tang-and-han-dynasties/panghu-planebattle-esm.git * 如果您遇到任何问题,请关注我的仓库,我将尽力帮助您解决。

正文

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

 

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

  • 这是一个有趣的网页小游戏包,使用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包:panghu-planebattle-esm(胖虎飞机大战)使用说明相似的内容:

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

好家伙,我的包终于开发完啦 欢迎使用胖虎的飞机大战包!! 为你的主页添加色彩 这是一个有趣的网页小游戏包,使用canvas和js开发 使用ES6模块化开发 效果图如下: (觉得图片太sb的可以自己改) 代码已开源!! Git: https://gitee.com/tang-and-han-dynas

如何编写一个健壮的 npm 包

比如老王我,用npm init新建一个包,改把改把,然后来个npm publish,so easy ✌️!Too young too naive, baby 👶!请容我讲述一些发布过程中踩过的坑。

FAQ 关于pip你应该知道的一些技巧

pip简介 pip是安装了python之后的一个应用程序,包管理程序,有点类似于yum、npm、apt等工具 物理位置一般是python.exe所在目录下的scripts下 以我为例,我Python安装在D:\Python39\下,那么pip就在D:\Python39\Scripts 而这个工具所在

我的第一个项目(十一) :飞机大战分包完成(简单阐述分包思路以及过程)

好家伙, 代码已开源 Git: https://gitee.com/tang-and-han-dynasties/panghu-planebattle-esm.git NPM: panghu-planebattle-esm - npm (npmjs.com) 现在,比如说,我用Vue写好了个人博客主

15.3K Star,超好用的开源协作式数字白板:tldraw

大家好,我是TJ 今天给大家推荐一个开源协作式数字白板:tldraw。 tldraw的编辑器、用户界面和其他底层库都是开源的,你可以在它的开源仓库中找到它们。它们也在NPM上分发,提供开发者使用。您可以使用tlDraw为您的产品创建一个临时白板,或者将其作为构建自己应用的工具来使用。 在线体验 tl

本地JS文件批量压缩

最近在维护一个小后台项目,有段JS需要压缩上传到CDN存储服务器。由于之前压缩的JS文件都比较少,都是手动压缩的。这次需要压缩的文件比较多,所以用了批量压缩。特此记录一下,方便大家和自己以后再用到的时候备忘。 v准备工作 安装nodejs 首先在本地安装node.js和npm,一般npm集成于nod

使用Vue3在浏览器端进行zip文件压缩

在前端开发中,我们时常需要处理文件上传和下载的功能。有时,用户可能希望将多个文件打包成一个zip文件以便于下载。今天,我将分享一个使用Vue3和JSZip库在浏览器端实现zip文件压缩的示例。 首先,我们需要安装JSZip库。如果你使用的是npm,可以通过以下命令进行安装: npm install

我的第一个公众号

作为一名来自农村的Java程序员,我每天与代码为伍。键盘敲击的声音,屏幕上的代码行,构成了我工作的主旋律。然而,在这平静的日常中,我的内心总有一个声音在呼唤:我想试试点别的,比如运营一个公众号。 这个想法在我心中萌生已久,但每当我想要付诸行动时,总会因为自己的文笔不够华丽而感到犹豫。毕竟,公众号是一

我的第一个项目(二):使用Vue做一个登录注册界面

好家伙, 顶不住了,太多的bug, 本来是想把背景用canvas做成动态的,但是,出现了各种问题 为了不耽误进度,我们先把一个简单的登录注册界面做出来 来看看效果: (看上去还不错) 本界面使用Vue2(新建项目的时候记得把less勾上,项目里有用到) 1.项目目录: 2.MyLogin.vue组件

我的第一个项目(三):注册登陆功能(后端)

好家伙,前端出了点bug 我们来搞定后端先: 后端我们用的框架是Spring boot 数据库:MySQl 代码已开源,连接在最后 新建项目: 只点Java Web 项目目录如下: 1.首先,我们在pom.xml文件中导入第三方包: web服务,mysql连接驱动等一系列包 pom.xml文件: <