0

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

我需要的一些东西

  • 帧控制。一种获取当前时间(或增量)的方法。
  • 图像,显示它并移动它。我如何显示完整的图像。了解像素访问可能很酷。
  • 输入 一种将其锁定在盒子中的方法(就像闪光灯一样)很酷。
  • 声音按需播放简单的声音(比如当我受到打击时)。同时发出几个声音会很棒
  • 瓶颈。什么东西会杀死CPU?
  • 限制。我不能做什么?我听说我不能“睡觉”等待。我必须设置回调
  • 好的或最佳实践。我可以做些什么来保持速度或降低故障或兼容性问题。
4

3 回答 3

2

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

帧控制。一种获取当前时间(或增量)的方法。

期刊()

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

设置样式()

输入 一种将其锁定在盒子中的方法(就像闪光灯一样)很酷。

普通的旧 CSS

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

快速远程()

瓶颈。什么东西会杀死CPU?

IE浏览器。

限制。

3D ... ?

我可以做些什么好事情...以降低故障或兼容性问题。

使用框架。

于 2009-10-11T02:55:57.633 回答
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,看看你是否可以做一些改变让它在这些上工作。它可以在多少个平台上运行取决于您想为它做多少工作。要进行概念验证,请为您的任务选择最简单的浏览器。

于 2009-10-11T02:50:13.090 回答
0

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

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

希望有帮助=)

于 2009-10-11T02:58:48.097 回答