Javascript 从 Sprite 获取图像对象

标签 javascript image sprite-sheet

我想使用 spritesheet 来减少图 block 游戏的 HTTP 请求次数。

假设有大约 2000 个不同类型的图 block ,则每次加载游戏时会减少 2000 个请求。

Sprite 高 64 像素,包含 64 x 64 像素图 block 。

以下代码检索单个图像并开始渲染:

var tiles = new Image();
tiles.src = "tiles.png";

tiles.onload = function() {
    startRendering();
};

我的问题是,如何从中检索单个 Image 对象?

最佳答案

使用纯 JS 无法做到这一点。恐怕您将不得不使用一些 CSS 来实现这一点。

例如,假设您有一个

而不是 img
<span class="imageholder" style="padding: 64px;"></span>

现在在您的 JavaScript 中,您可以使用以下内容

...

tiles.backgroundImage = 'url(tiles.png)';
tiles.backgroundPosition = '0px 0px'; // apply the position to get any of the image at any position

...

关于Javascript 从 Sprite 获取图像对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27075485/

相关文章:

html - 如何在 div 中垂直对齐表单元素和 img 链接

html - 图像开销 iframe

javascript - Canvas Sprite 表错误

javascript - 如何使用 Easeljs 将 Click 事件添加到 spriteSheet?

javascript - ajaxStart() 只被调用一次,而 ajaxComplete() 被调用多次

javascript - Meteor 的 blaze 和 Famo.us 如何一起玩?

javascript - 仅由重复字符组成的字符串的正则表达式

javascript - 如何使用 jQuery.get 捕获 Chrome 的 net::Exceptions?

Javascript canvas.toDataURL() 返回空白图像

c++ - Cocos2D-X选择合适 Sprite 表的最高效方式