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

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

  • 这是一个有趣的网页小游戏包,使用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(胖虎飞机大战)使用说明的更多相关文章

  1. 如何发布一个npm包(基于vue)

    前言:工作的时候总是使用别人的npm包,然而我有时心底会好奇自己如何发布一个npm包呢,什么时候自己的包能够被很多人喜欢并使用呢...今天我终于迈出了第一步. 前提:会使用 npm,有 vue 基础, ...

  2. 从零开始写一个npm包及上传

    最近刚好自己需要写公有npm包及上传,虽然百度上资料都能找到,但是都是比较零零碎碎的,个人就来整理下,如何从零开始写一个npm包及上传. 该篇文件只记录一个大概的流程,一些细节没有记录. tips:  ...

  3. 从0到1发布一个npm包

    从0到1发布一个npm包 author: @TiffanysBear 最近在项目业务中有遇到一些问题,一些通用的方法或者封装的模块在PC.WAP甚至是APP中都需要使用,但是对于业务的PC.WAP.A ...

  4. 如何开发一个npm包并发布到npm中央仓库

    转自: https://liaolongdong.com/2019/01/24/publish-public-npm.html 如何开发一个npm包并发布到npm中央仓库需求背景:平时在项目工作中可能 ...

  5. 从零开始写一个npm包,一键生成react组件(偷懒==提高效率)

    前言 最近写项目开发新模块的时候,每次写新模块的时候需要创建一个组件的时候(包含组件css,index.js,组件js),就只能会拷贝其他组件修改名称 ,但是写了1-2个后发现效率太低了,而且极容易出 ...

  6. 发布一个npm包(webpack loader)

    发布一个npm包,webpack loader: reverse-color-loader,实现颜色反转. 初始化项目 mkdir reverse-color-loader cd ./reverse- ...

  7. 如何发布一个 npm 包

    一 背景 在工作时,突然接到经理的一个要求,需要将一个react的高阶组件函数封装成一个npm包.之前从没弄过,当场还是有些懵逼的,但是这毕竟是工作,不能推脱.于是开始了学习.汤坑之旅.最终包发布,线 ...

  8. (转)前端开发-发布一个NPM包之最简单易懂流程

    原文地址:https://www.cnblogs.com/sghy/p/6829747.html 1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站 ...

  9. 如何开发一个npm包并发布

    一.安装nodejs 不多说了,网上教程多得是 二.创建自己的npm包 目录结构 npm-test a.js b.js package.json 开发 为了简单便于理解,就开发一个简单地hello程序 ...

  10. webpack创建library及从零开始发布一个npm包

    最近公司有个需求,我们部门开发一个平台项目之后,其他兄弟部门开发出的插件我们可以拿来直接用,并且不需要我们再进行打包,只是做静态的文件引入,研究一波后发现,webpack创建library可以实现. ...

随机推荐

  1. Unity 导出设置iOS 项目

    别人的代码 xcode打包部分设置的脚本如下 public class XcodeSetting : MonoBehaviour { private static List<Menu> m ...

  2. 【.NET】Swagger 允许接口重名

    问题: Swagger Failed to load API definition. 相信用过swagger的小伙伴 一定经历过这样的错误,问题点很简单,是接口重名了. 我百度了一下,找不到答案. 谷 ...

  3. 安装 TensorFlow 参考过的资料

    anaconda 的新环境创建 https://blog.csdn.net/yandajiangjun/article/details/102615912

  4. element的el-table使用模板插槽在火狐和IE无法显示tooltip(浏览器兼容)

    el-table中使用show-overflow-tooltip属性,配合tooltip出现的浏览器兼容性问题 el-table中使用show-overflow-tooltip属性内容过长被隐藏时显示 ...

  5. antd动态tree 自定义样式

    import React, { useEffect, useState } from 'react';import { Tree } from 'antd';import './index.less' ...

  6. ggplot axis text 拐弯

    scale_y_discrete(position = "left",labels=function(x) str_wrap(x, width=48)) +

  7. UIPath踩坑记一UIpath中抓取数据后在tableau中无表头

    UIpath抓取数据存在Excel中(Excel 应用程序范围),且已设置表头,但是放到tableau中无表头 更换为"写入范围(工作簿)",同时属性设置必须勾选"添加标 ...

  8. K8S 性能优化 - 大型集群 CIDR 配置

    前言 K8S 性能优化系列文章,本文为第三篇:Kubernetes 大型集群 CIDR 配置最佳实践. 系列文章: <K8S 性能优化 - OS sysctl 调优> <K8S 性能 ...

  9. 矩形面积k次交 UVA - 11983

    算是模板题,会了面积交这个应该就会了,正常面积交分为覆盖1次以上,两次以上,这个就分为覆盖1到k次以上就行了. 这个题有点边界问题:是让你求覆盖的点,所以你可以假设一个1*1的正方向表示它的左下角被覆 ...

  10. 【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看

    highlight: a11y-dark 简介 前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用.但由于原来OpenAI 并没有支持官网的chatgpt模型, ...