我在 LiveCode 中有一张图像,我想在按下特定按钮时将其更改为另一张图像。到目前为止,我已经尝试过这个 -
将图像“The_Hangman”的imageSource设置为“/HangMan/1.png”
但是,我收到的错误代码为:
第 n/a 行执行错误(对象:无法设置此属性)
我该如何解决这个问题?
ImageSource 指的是嵌入到文本字段中的图像,这不是您想要的。
如果您使用导入的图像,它一点也不直观,但您要更改的属性是文本属性:
set the text of image "abc" to the text of image "xyz"
设置text属性会同时改变指定图像的imageData和alphaData。
如果您使用引用的图像(堆栈外部的图像),请将要更改的图像的 fileName 属性设置为新图像的文件路径。
以下是使用外部图像文件的方法:
假设您将图像存储在名为“images”的文件夹中,该文件夹与堆栈文件位于磁盘上的同一位置。
put "hang1.png,hang2.png,hang3.png" into tImgList
put 1 into tCurrImg
set the fileName of image "The_Hangman" to \
(specialFolderPath("resources") & item tCurrImg of tImgList)
现在只需更改 tCurrImg 的值,您就可以显示您想要的任何外部图像文件。
这实际上是一个偶尔发生的错误,我还没有重现它。 设置图像的文件名应该是非常可能的,因为文件名是 livecode 图像的属性。 所以出了问题。 我相当有信心当设置的文件名中包含特殊字符时会触发该错误。
现在来帮助你已经太晚了,但万一其他人也遇到了这个问题。