2010-07-15 59 views
0

我有3張馬/騎士跑步的圖像。我交替他們使它看起來像它的跑步。我使用GD來改變特定用戶的騎士/馬匹的顏色。我改變圖像顏色,然後預先加載3張圖像。但是當我的程序改變了他們已經預先加載的圖像時。所以我必須將頁面加載兩次以獲得knight.horse的正確顏色。我該如何解決?改變6張圖像然後預加載,但圖像在被改變之前被預加載

THE CODE在標題中。 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() 

請幫助我用盡了很多事情來解決這個一直在努力了一個星期,現在並不能弄明白ughhhhhh!

+0

我不知道它爲什麼發佈這樣的代碼,但看起來像這樣loadImage('pic/4.gif','pic/knightcolor0.gif',「1」) 。 。 。 。 img1 = new Image(); img1.src =「pic/4.gif?t =」+ new Date()。getTime() 。 。 。 。 。 點網點只是意味着它重複的代碼,但其他圖片 – Cameron 2010-07-15 05:40:53

回答

0

預加載不會對你有任何好處,如果它正在調用一個你不想要的圖像。如果將預加載設置爲callbackloadImage功能,則只有當右圖像可用時纔會執行。

或者,您是否可以縮小顏色的選擇範圍?在這樣的情況下,讓這些圖像已經準備好使用並不是不可思議的。