这是在四周内的一系列四个职位第三,会告诉你如何创建一个简单的Windows 8游戏,使用HTML5,JavaScript的,WinJS和CreateJS

该游戏是基于XNA游戏示例“弹弓战争实验室” 因为我们开发是基于网络技术为Windows 8的新版本,我们会从游戏重用的资产。

在这篇文章中,我们将带的东西生活与一些游戏逻辑和JavaScript。

游戏圈

任何游戏的心跳游戏循环。 这是每秒运行多次,有两个主要的工作功能 - 更新发生了什么事情,然后绘制新的场景。

第2部分 ,我们已经把大纲到位:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

现在的问题是,我们如何获得gameLoop()函数开始,并保持每秒运行多少次?

EaselJS北京时间类

幸运的是,EaselJS拥有北京时间类,有一些功能,我们将使用:

  • 管理游戏循环的时机
  • 暂停/恢复游戏圈
  • 测量经过时间

这是一个静态类,这样我们就可以开始使用它。 default.js ,添加一个新的startGame()函数,并在年底称之为prepareGame()

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

这里我们告诉新浪体育讯北京时间使用window.requestAnimationFrame来控制gameLoop功能是如何频繁调用。

requestAnimationFrame是Web应用程序的一个相对较新的API,帮助确保工作不被不必要地进行。 要理解为什么这可能比设定一个固定的定时器更好的(如与setTimeout()看到了在IE试驾场地requestAnimationFrame样品

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

每次requestAnimationFrame准备就绪后,我们的游戏循环运行。

“准备瞄准开火!”

好了,现在我们有一个正在运行的游戏循环游戏,所以它的时候添加一些乐趣!

每个玩家/弹射器将被发射向另一个弹药/摇滚。 我们需要知道,如果一个镜头是目前飞,谁的轮到,以及如何拍摄正在移动。

首先,让我们增加更多的变数default.js

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

现在让我们使用其中的一些通过将下面的update()函数:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

目前,双方球员自动闪光(在随机速度)在他们的圈。 所述ammoBitma P移动到击发弹射的顶部中心,并且shotVelocity被赋予一个有界范围内的随机值(调整屏幕分辨率。)

我们还将添加一个fireShot()函数来显示拍摄和告诉游戏它在空气中:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

更新显示

之前我们通过在空气中移动的镜头,让我们专注于游戏循环式的下半场 - 在屏幕上绘图。 这通常是非常复杂的,但EaselJS舞台负责绘制我们的内容的(所有的孩子 - 位图,文本等 - 我们添加到舞台)到画布上,所以这是我们所需要的:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

而已! 如果你运行游戏,玩家1会自动闪光和镜头将出现在红色弹射器...

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

...但它不会让步。 让我们感动的事情。

移动射击

让我们回到了update()函数,并添加逻辑的if (shotIsFlying)声明:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

不要运行它,但我们仍需要两个功能,但这里发生了什么:

  • 线149 150 -通过添加速度移动镜头(其可以是负上去和/或左)
  • 151线 -应用重力速度慢
  • 行153-155 -有射门打在地面或消失在屏幕的左侧或右侧边缘的?
  • 行157-160 -错过-结束拍摄并改变播放器
  • 行162-168 -玩家1的射门-看它是否击中玩家2.如果是这样,更新播放器2的生活。
  • 行169-175 -玩家2的射门-看它是否击中玩家1.如果是这样,更新播放器1的生活。

让我们添加的checkHit(Bitmap)的功能:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

什么是则hitTest的那些话? EaselJS 的DisplayObject秒(在其Bitmap是基于)支撑hitTest()方法,这使得它非常容易看到,如果一个点是在当前的对象的位置。 不幸的是,我们正在缩放对象,并只则hitTest与原尺寸的作品,所以我们需要检查自己命中。 只是有点数学的,我们正在设置。

处理点击

现在,添加processHit()函数:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

这只是结束拍摄,改变了球员,并确保在比赛还没有结束。

结束游戏

让我们来结束这篇文章通过结束了比赛。 添加endgame(Image)功能:

使用JavaScript创建简单的Windows 8游戏:游戏逻辑

而已! 现在,您可以运行游戏,看看谁赢。

使用JavaScript创建简单的Windows 8游戏:游戏逻辑使用JavaScript创建简单的Windows 8游戏:游戏逻辑

下一步是什么?

我们在这部分增加了很多 - 事情正在绘制,移动,命中,结束了......但有两个大洞。 首先,玩家没有真正发挥 ,所以我们将添加输入下一个处理。 其次,事情非常安静,尤其是对一战,所以我们会在一些声音折腾为好。

到第4部分:下周!

From: https://www.sitepoint.com//creating-a-simple-windows-8-game-with-javascript-game-logic/

相关文章: