0

我有 3 张马/骑士奔跑的图像。我正在交替它们以使其看起来像在运行。我正在使用 GD 来更改特定用户字符的骑士/马的颜色。我改变图像颜色,然后预加载 3 张图像。但是当我的程序更改了它们已经预加载的图像时。所以我必须加载页面两次才能显示 knight.horse 的正确颜色。我该如何解决?

代码在标题中。函数 loadImage 获取基本图像并更改颜色并将其保存在 pic/#.gif 文件位置。然后预加载图像并在末尾添加时间,以便加载新图像而不是缓存中的图像。

loadImage('pic/4.gif','pic/knightcolor0.gif',"1")

loadImage('pic/7.gif','pic/knightcolor0b.gif',"2")
loadImage('pic/5.gif','pic/knightcolor1.gif',"")
loadImage('pic/6.gif','pic/knightcolor2.gif',"")
loadImage('pic/8.gif','pic/knightcolor1R.gif',"")
loadImage('pic/9.gif','pic/knightcolor2R.gif',"")


img1 = new Image();
img1.src = "pic/4.gif?t="+new Date().getTime()
img2 = new Image();
img2.src =  "pic/5.gif?t="+new Date().getTime()
img3 = new Image();
img3.src =  "pic/6.gif?t="+new Date().getTime()
img4 = new Image();
img4.src = "pic/7.gif?t="+new Date().getTime()
img5 = new Image();
img5.src =  "pic/8.gif?t="+new Date().getTime()
img6 = new Image();
img6.src =  "pic/9.gif?t="+new Date().getTime()

请帮助我已经尝试了很多事情来解决这个问题,现在已经工作了一周,但无法弄清楚哦!

4

1 回答 1

0

如果它正在调用您不想要的图像,则预加载对您没有任何好处。如果您将预加载设置为函数的回调loadImage则在正确的图像可用之前它不会执行。

或者,你能缩小颜色的选择范围吗?在这种情况下,准备好这些图像以供使用并非不可想象。

于 2010-09-05T15:44:00.977 回答