打小蜜蜂游戏

采用单体模式,单体就是把一批相关的属性和方法组织在一起的对象。

特点:

可以以用来划分命名空间,清除全局变量带来的危险。

可以把代码组织的更为一体,便于阅读和维护。

需要注意的点:

1、由于采用单体模式,每个方法的对象都是私有的,别的方法想调用的时候需要将其变为此对象里的全局对象

this.oUl = oUl;

2、this在碰到事件的时候this就不在指向该对象,需要更改this指向

var This=this;

游戏中几个点的解决办法

1、小蜜蜂的布局

不能采用float方式,因为当小蜜蜂移动或者消失的时候,剩下的布局方式会乱掉,所以采用绝对定位的布局,但是一开始不知该如何设置每个小蜜蜂的定位,可以先采用float方式,然后设置一个数组存下当前的left和top值,然后在设置成定位的方式。

var arr=[];

for (var i = 0; i < this.aLi.length; i++) {

arr.push([this.aLi[i].offsetLeft, this.aLi[i].offsetTop]);

}

for (var i = 0; i < this.aLi.length; i++) {

$(this.aLi[i]).css({

'position': 'absolute',

'left': arr[i][0],

'top': arr[i][1],

});

}

2、单兵作战时x和y的速度

可以根据offsetleft和offsettop算出a和b,勾股定理算出c,给出斜边移动速度10就可以算出小蜜蜂的速度x和y。

image.png

var This=this;

var nowLi=this.aLi[Math.floor(Math.random()*This.aLi.length)];//随机生成一个li

setInterval(function(){

var a=This.oA.offset().left-$(nowLi).offset().left;

var b=This.oA.offset().top-$(nowLi).offset().top;

var c=Math.sqrt(a*a+b*b);

var iSX=$(nowLi).data('speed') *a/c;

var iSY=$(nowLi).data('speed') *b/c;

//console.log(gk.eMap[rand].speed);

$(nowLi).css({

'left':$(nowLi).offset().left+iSX+'px',

'top':$(nowLi).offset().top+iSY+'px',

});

},30);

3、 碰撞检测:

子弹打小蜜蜂时主要是做碰撞检测,碰撞检测的思路是两个物体的前后左右都检测,比较L1,R1,T1,B1,L2,R2,T2,B2,

image.png

pz: function(obj1, obj2) { //碰撞检测

var L1 = obj1.offset().left;

var R1 = obj1.offset().left + obj1.width();

var T1 = obj1.offset().top;

var B1 = obj1.offset().top + obj1.height();

var L2 = obj2.offset().left;

var R2 = obj2.offset().left + obj2.width();

var T2 = obj2.offset().top;

var B2 = obj2.offset().top + obj2.height();

if (R1 < L2 || L1 > R2 || B1 < T2 || T1 > B2) { //未碰着

return false;

} else {

return true;

}

}

小蜜蜂java小游戏_小游戏-打小蜜蜂相关推荐

  1. 微信小程序_小程序开发框架

    微信小程序_小程序开发框架 微信小程序框架 微信小程序小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXS ...

  2. java祖玛_Canvas小练习_祖玛游戏01

    这几天学习了一个祖玛游戏的小Demo,记录下这个小游戏的编写过程. 1:首先实现的一个简单界面效果. 2:在图形绘制完成后,让黑色小球沿着圆形弧线运动. 编码过程 创建画布,绘制圆形弧线. 首先在Ht ...

  3. 反编译小程序_小程序/小游戏 反编译教程

    使用的反编译脚本叫做wxappUnpacker 开搞吧,我们通过电脑上的安卓模拟器来获取,我这里使用的是夜神模拟器,启动后安装微信,RE管理器,QQ(用来传输文件) 登陆微信后,在下拉框中找到我们要获 ...

  4. 天刀 服务器状态,天刀实用技巧_天刀各种游戏小技巧_玩游戏网

    一:御风神行无CD小技巧 这个小技巧,是玩家们游戏方便的一大助力,毕竟它方便了几乎所有天刀玩家,在游戏中给玩家们创造了极大便利.就是当玩家角色走到地图的边缘空气墙处,自动蹦出来地图,点击传送点,可以无 ...

  5. pygame游戏_小蝌蚪吃蚊子幼虫成长

    网上有许多小蝌蚪的游戏.其中有一游戏,小蝌蚪开始很小,其四处游动吃蚊虫(蚊子幼虫),吃一个蚊虫后其身体长大一点,长大到某尺寸变为青蛙.本例实现其部分功能.游戏有3个角色:小蝌蚪.蚊虫和背景角色.小蝌蚪 ...

  6. c语言传球游戏,传球游戏_小荷才露尖尖角19792014_新浪博客

    传球游戏 邓丞希 东方小学三年级 今天下午,我在赏识作文班上玩了一个有趣的传球游戏. 老师把我们分成两个组,每组三双筷子和一个乒乓球. 游戏开始了.首先,我们组的第一个同学用筷子夹起了乒乓球,准备传给 ...

  7. 手机海豚模拟器怎么添加游戏_小忍计划模拟器手机版游戏下载-小忍计划模拟器手机版游戏v0.1.9.3...

    小忍计划模拟器手机版是一款非常好玩的3D恋爱模拟游戏,在这里玩家将拥有第一视角,游戏中你将有一个叫做小忍的虚拟女友,玩家可以通过克重任务来解锁服饰装扮她,还能够带她去人任何地方,你的任务就是让小忍高兴 ...

  8. unity第三人称射击游戏_在游戏上第3部分完美的信息游戏

    unity第三人称射击游戏 Previous article 上一篇文章 The economics literature distinguishes the quality of a game's ...

  9. python小猿_小猿圈python简介和发展前景?

    只要朝着一个方向努力,一切都会变得得心应手.-----勃朗宁 小猿圈python简介: Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读 ...

  10. rust腐蚀怎么单人游戏_腐蚀游戏怎么提高帧数 Rust设置隐藏画质提高FPS教程

    腐蚀游戏怎么提高帧数 Rust设置隐藏画质提高FPS教程 2018-03-04 10:58:10来源:游戏下载编辑:云曼衍评论(0) <腐蚀(Rust)>已经正式上市发售了,因为游戏的配置 ...

最新文章

  1. 1282. Game Tree
  2. 下一代 Service Mesh -- istio 架构分析
  3. linux c 获取文件行数
  4. python常用模块大全总结-Python 常用模块大全(整理)
  5. Java8学习系列之匿名函数Lambda
  6. AVA 8 :从永久区(PermGen)到元空间(Metaspace)
  7. OpenCV图像列表创建者imagelist creator的实例(附完整代码)
  8. 自然语言处理综述(一)
  9. 中石油训练赛 - High Load Database(二分+记忆化)
  10. pjsua帮助手册(中文)
  11. CGI-plus_x86_x64_自适应版系统安装和备份工具参数案例笔记
  12. 2022届秋招的总结与体会
  13. lpt监控安装_LPT说明书
  14. 常用的4款seed磁链搜索工具
  15. 心语收集9:如何强大,你仍然是我的弱点。
  16. 利用Windows11安卓子系统对APP进行渗透测试
  17. element-ui 阻止冒泡事件
  18. 我的职业思路:做建模,为什么,不学C4D
  19. Javascript 将阿拉伯数字转换成罗马数字
  20. Vue+SpringBoot图书管理系统前后端分离(教你一步一步搭建)

热门文章

  1. 翻译: AWS DeepRacer一步一步详细步骤的自定义航点更快地运行 自定义waypoints
  2. HarmonyOS电脑系统,HarmonyOS
  3. 七夕节,我用代码制作了表白信封
  4. 战斗在 VUCA 时代
  5. 【NLP】句法分析一
  6. 游戏挂机还开着电脑?那就真的out了!
  7. could not initialize proxy - the owning Session was closed解决
  8. 论文阅读 Optimal Rough Terrain Trajectory Generation for Wheeled Mobile Robots
  9. 科研第二步:远程在服务器上跑程序jupyter使用
  10. Java实验1:个人银行账户管理系统总结