当前位置: 首页 > news >正文

50m专线做视频网站今日热榜

50m专线做视频网站,今日热榜,广州做网络服装的网站建设,钮奇网站建设游戏说明 一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

游戏说明

一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用

环境说明

  cnpm@6.2.0  npm@6.14.13  node@12.22.7  npminstall@3.28.0  yarn@1.22.10  npm config list  electron_mirror = "https://npm.taobao.org/mirrors/electron/"  home = "https://www.npmjs.org"  registry = "https://registry.npmmirror.com/"  

曲线移动

 通过控制炮弹移动的曲线方向 速度 中点位置来控制炮弹的移动位置。

起点和终点:

起点为导弹发射单位的位置

终点为要攻击目标的位置

中点可以通过随机数计算出来:

 中点为灰色我们需要计算中点

起点和终点可以构成一条直线

我们要获取两点的中点可以i通过公式:

  /*** 获取两点的中点* @param p1 点一* @param p2 点二* @returns 返回中点*/midPoint(p1:POINT, p2:POINT) {const returnPoint = [0, 0]returnPoint[0] = (p1.x + p2.x) / 2returnPoint[1] = (p1.y + p2.y) / 2return returnPoint},

获取两点的中点 但是中点还在直线上我们还需要极坐标来位移中点

  /*** 极坐标位移* @param p1 位移的起始点* @param dir 位移的方向 弧度制* @param dis 位移的距离*/coorTranslate(p1:POINT, dir:number, dis:number) {const returnPoint = [0, 0]const sin = Math.sin(dir)const cos = Math.cos(dir)const y = dis * sinconst x = dis * cosreturnPoint[0] = x + p1.xreturnPoint[1] = y + p1.yreturn returnPoint},

 方向我们可以是角度和距离可以是随机的这样我们的曲线就像是做的目标的移动了只需要在固定的时间创建多个炮弹并设置炮弹的速度就可以达到目标。

详细代码:

            // 发射子弹数量let bulletNumber = 6// 开始点根据绑定单位的坐标获取const startPoint = { x: p.x, y: p.y }const f = function() {Main.setTimeoutGame(function() {bulletNumber--const count = userUtilsPro.randIntBetween(1, 3)for (let i = 0; i < count; i++) {if (bulletNumber >= 0) {const end = { x: p2.x, y: p2.y }// 创建子弹对象const b = Bullet.create(bulletName, startPoint, end, BULLET_MOVE_TYPE.BEZIER) as Bullet// 计算两点间的距离const dis = userUtilsPro.pointsDis(startPoint, end)// 随机方向const fx = userUtilsPro.randIntBetween(0, 1) === 0 ? 1 : -1// 中点计算随机位置// 中点随机角度const c = userUtilsPro.bezierMidPoint(startPoint, end, Math.PI * userUtilsPro.randBetween(0, 2), fx * Math.round(dis) * userUtilsPro.randBetween(0.5, 1.5))b._userCenter = trueb.center = {x: c[0],y: c[1]}// 随机速度b.setSpeed(2.6 + 4 * userUtilsPro.randBetween(0.1, 1))// 子弹的创建单位b.use = p.id// 添加子弹到场景Main.getMain().getNowScene().addGameObject(b)}}

 先设置发射炮弹数量 然后通过延时计时器来执行有下面的操作:

起点,终点固定。一次发射执行数量随机,方向随机,中点极坐标位置随机,速度随机 就可以达到下面的效果。

这是我们做的目标:

 项目开源地址:

GitHub - yinhui1129754/towerDefense: 一个使用pixi.js编写的类似保卫萝卜的塔防游戏。

http://www.hkea.cn/news/76098/

相关文章:

  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版
  • 怎么去投诉做网站的公司宁波seo外包推广软件
  • 网络营销跟做网站有什么区别线上推广如何引流
  • 如何进行网店推广seo排名优化怎样
  • 什么建站程序好收录上海网络公司seo
  • 电子商务网站建设投资预算小程序平台
  • 广州外贸营销型网站成都移动seo
  • 如何韩国视频网站模板下载 迅雷下载sem竞价托管费用
  • 做网站去哪个平台seo培训学院
  • 网站移动端优化的重点有哪些营销策略ppt
  • 养车网站开发搜狗seo快速排名公司
  • 企业电子商务网站建设武汉百度快速排名提升
  • 建一个网站的流程今天刚刚发生的新闻
  • 建立网站请示优化服务是什么意思
  • 有一个做场景动画的网站山东seo费用多少
  • 阿里云服务器的网站备案流程图营销推广有哪些形式
  • 做宣传用什么网站好手游推广平台有哪些