0
私は一度に1単語ずつプッシュしたいテキストフィールドを持っています。単語は配列にあります。表示される単語間の遅延は1秒に設定されます。最初の単語は2秒間表示されます。したがって、奇妙なダブルステートメント。Framerの遅延を反復する
msgArray = [
["Hello", "World"],
["89:23", "Tom Eriksen","Scooores!!"],
["Overtime", "about to", "start"]]
printMessageLoop = (msgArray, target) ->
target.text = msgArray[0]
timeToRead = 1
Utils.delay timeToRead,() ->
for i in [1..msgArray.length-1]
Utils.delay timeToRead*i,() ->
target.text = msgArray[i]
print "i="+i #debugging purpose
私はprintMessageLoop(msgArray[2])
を呼び出すときtarget
は、正しく最初の単語が表示されますが、最後の二つは「未定義」です。プリントアウトは言う:
printMessageLoop(msgArray[2])
»i=3
»i=3
それはラインtarget.text = msgArray[i]
がi
が最後i
に設定されていることを実行したときのように思えます。つまり、私は++ 3です
なぜですか?そして私はどうすれば周りを回ることができますか?遅延前