0

馬/騎士が走っている画像が 3 つあります。走っているように見えるように交互にしています。GD を使用して、特定のユーザー チャクターの騎士/馬の色を変更しています。画像の色を変更してから、3 つの画像をプリロードします。しかし、私のプログラムが画像を変更するまでには、それらはすでにプリロードされています。したがって、knight.horse の正しい色を表示するには、ページを 2 回読み込む必要があります。これを修正するにはどうすればよいですか?

コードはヘッダーにあります。関数 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()

plsは私がこれを修正するために多くのことを試みたのを助けてくれます。

4

1 に答える 1

0

まだ必要のないイメージを呼び出している場合、プリロードは何の役にも立ちません。関数へのコールバックとしてプリロードを設定すると、適切な画像が利用可能になるまで実行されません。loadImage

あるいは、色の選択肢を絞っていただけませんか?このような状況では、これらのイメージを使用する準備ができていることは考えられません。

于 2010-09-05T15:44:00.977 に答える