Javascript游戏:我应该知道什么?

时间:2009-10-11 02:43:06

标签: javascript multimedia

我在想作为一个挑战,我应该写一个基于JavaScript的游戏。我想要声音,图像和输入。模拟屏幕的背景(如640x480中包含我的所有图像)对于将页面的其余部分与“游戏”分开是有用的。我该怎么看?

我需要的一些东西

  • FrameControl中。获取当前时间(或增量)的方法。
  • 图像,显示并移动它。如何显示完整图像。知道像素访问可能很酷。
  • 输入一种方法将它锁定在一个盒子里(就像闪存一样)很酷。
  • 声音播放简单的声音(如我受欢迎)。一次声音很棒
  • 瓶颈。什么东西会杀死CPU?
  • 限制。我怎么办?我听说我不能“睡觉”等待。我必须设置一个回调
  • 好或最好的实践。我可以做些什么来保持加速或减少故障或兼容性问题。

3 个答案:

答案 0 :(得分:2)

我将从mootools javascript角度回答这个问题:

  

FrameControl中。获取当前时间(或增量)的方法。

periodical()

  

图像,显示并移动它。如何显示完整图像。

setStyles()

  

输入一种方法将其锁定在一个盒子里(比如   flash确实很酷。

普通旧CSS

  

声音按需播放简单的声音   (比如当我受到打击时)。

Swiffremote();

  

瓶颈。有什么事情会   杀了CPU?

Internet Explorer。

  

限制。

3D ......?

  

我能做些什么好事......   较低的毛刺或兼容性   问题。

使用框架。

答案 1 :(得分:1)

作为一个起点,你可能想把它写成Opera,因为Opera提供了一个可以帮助你的游戏画布。

有关javascript游戏的一些示例: http://dev.opera.com/articles/view/3d-games-with-canvas-and-raycasting-part/

http://my.opera.com/WebApplications/blog/show.dml/200788

这个很有趣,它是使用canvas元素的游戏演示。 http://www.canvasdemos.com/tag/games/

了解问题所在的最佳方法是开始编写游戏,然后您将看到可能存在的问题。通过观看演示,您可以了解他们遇到的性能问题。例如,完整的3D Doom游戏会有问题,但是,正如上面的第一篇文章所解释的那样,有一些方法可以优化javascript。

一旦你使用Opera,那么你可以看看Firefox 3.5+和Safari,以及Chrome,看看你是否可以进行一些修改以使它适用于那些。它工作的平台数量取决于你想为它做多少工作。对于概念验证,选择最简单的浏览器来完成任务。

答案 2 :(得分:0)

最好的起点是熟悉<canvas>标签(它允许您在屏幕上绘制任何内容)

这可能会有很大帮助: http://benfirshman.com/projects/jsnes/ 它是一个在线NES模拟器,可以在屏幕上呈现所有内容 - 源代码也可用

希望有帮助=)