0

コロナ/ルアで画像のパスを動的に変更する方法はありますか?

私は現在これを使用しています:

itemImage = display.newImage(inventory[t.ID][1])

と。eventListener を介して渡すターゲット ID です。

.text を使用してテキストを更新できるように、パスを更新できる関数はありますか? 次のようなもの:

itemImage.Image(inventory[t.ID][1])
itemImage.updateImage(inventory[t.ID][1])

ドキュメントでこれに関するものを見つけることができません。

4

2 に答える 2

1

テキストを変更できるように、画像を置き換えることはできません。画像の描画に関連する変数が多すぎます。古い画像の上に新しい画像を描画してから、古い画像を削除するのが最善の策です。

于 2013-01-20T21:47:42.787 に答える
1

それを行うための直接的な方法はまだないと思います。しかし、画像を適切な順序で変更したい場合は、「ムービークリップ」を利用できます。

    require "movieclip"

   local myImage = movieclip.newAnim{ "img1.png", "img2.png" , "img3.png", "img4.png"}
    myImage.x=100
    myImage.y=100

    local function changeImage(event)
       myImage:nextFrame()
    end

   Runtime:addEventListener("tap", changeImage)

それ以外の場合は、古いイメージを削除して、次のように新しいイメージに置き換える必要があります。

    local myImage = display.newImageRect("img1.png",150,150)
     myImage.x = 100
     myImage.y = 100

    local function changeImage(newImage)
        if(myImage~=nil)then
            myImage:removeSelf()
            myImage = display.newImageRect(newImage,150,150)
            myImage.x = 100; myImage.y = 100
        end
    end

    local function callMyFunction()
       changeImage("hair_2.png")
    end
    Runtime:addEventListener("tap",callMyFunction)
于 2013-01-19T16:13:34.600 に答える