我有一个完美无缺的随机单词生成脚本。我还有一些单个字符宽度字段,与可生成的最长字可能完全相同。在每个字段下面,我有一条类似下划线的线。每个字段都有一个唯一的id,编号从一个如下:“letter1”,“letter2”....等等。同样,每行的id为“line1”,“line2”,依此类推。
现在我已经开始了舞台,这就是我想要发生的事情。在卡的打开时,我希望隐藏所有字母字段,因为我将在这个子例程之外单独显示它们。然后我想要隐藏所有行,然后只显示随机单词所需的行数。 (从左到右与length(randomword)
相同的数字。)现在,随机字应循环通过,第一个字符应为put
到字段“letter1”,第二个字符应为“letter2” , 等等。每次打开卡片时这个词都会改变,所以重要的是这不是强制性的(不幸的是,我自己有两周的LiveCode经验,这是我唯一具体知道如何做的事情。)
有经验的人可以帮我做一个坚实的并提供我需要做的代码,以及我应该放入代码的位置吗? (卡片?字母字段?此时我真的不知道。)
如果我没有明确表达我的问题,我很乐意提供进一步的说明。
答案 0 :(得分:0)
试试这个(我的LiveCode有点生锈):
on openCard
//Put your word generation script here
put 0 into amtOfLines
put 0 into amtOfLetters
repeat until amtOfLines is 6 //Replace 6 with the amount of lines
add 1 to amtOfLines
put "line" & amtOfLines into x
set the visible of graphic x to false
end repeat
repeat until amtOfLetters is 6 //Replace 6 with the amount of fields
add 1 to amtOfLetters
put "letter" & amtOfLetters into x
set the visible of field x to false
end repeat
put 0 into amtOfLines
put 0 into amtOfLetters
repeat until amtOfLines is length(randomword)
add 1 to amtOfLines
put "line" & amtOfLines into x
set the visible of graphic x to true
end repeat
repeat until amtOfLetters is length(randomword)
add 1 to amtOfLetters
put "letter" & amtOfLetters into x
set the visible of field x to true
end repeat
put 0 into amtOfChars
repeat until amtOfChars is length(randomword)
add 1 to amtOfChars
put "letter" & amtOfChars into x
set the text of field x to char amtOfChars of randomword
end repeat
end openCard
这将出现在卡片脚本中。
编辑:修正了一些错误。
答案 1 :(得分:0)
这将进入卡片脚本:
on setup pRandomWord
put 6 into tNumObjs -- or however many fields there are
put length(pRandomWord) into tLen
repeat with x = 1 to tNumObjs
hide fld ("letter"&x)
if x <= tLen then
put char x of pRandomWord into fld ("letter"&x)
show grc ("line"&x)
else
hide grc ("line" & x)
end if
end repeat
end setup
当您想要使用它时,将随机单词放入变量并调用设置处理程序,如下所示:
setup randomWord
这可以在一个重复循环中完成所有操作。随机字在参数“pRandomWord”中传递给设置处理程序。