Lua 如何一次显示一个字母的字符串?

Lua 如何一次显示一个字母的字符串?,lua,coronasdk,Lua,Coronasdk,我正在从一本书中学习,这是我正在研究的作业问题: 创建一个请求用户名的应用程序,然后在屏幕一侧显示用户名,每次显示一个字母 function submit () print( "connect" ) userName = userNameField.text display_userName = display.newText( userName, display.contentWidth-20, display.contentHeight/2 ) display_userName.

我正在从一本书中学习,这是我正在研究的作业问题: 创建一个请求用户名的应用程序,然后在屏幕一侧显示用户名,每次显示一个字母

function submit ()  
print( "connect" )
userName = userNameField.text
display_userName = display.newText( userName, display.contentWidth-20, display.contentHeight/2 )
    display_userName.rotation = 90
    display_userName.alpha = 0

userNameField: removeSelf( )
greeting:removeSelf( )
submitButton:removeSelf( )

transition.fadeIn( display_userName, {time = 2000} )
  • 澄清我试图做的事情:让用户名在垂直方向上一次消失一个。示例:Adam“A”将在1秒后显示,“d”将在3秒后显示在显示的A下,“A”将在5秒后显示在显示的d下,“m”将在7秒后显示在显示的A下。视觉效果会有一种多米诺骨牌效应。当它们出现时,它们会一直显示在屏幕上
到目前为止,我能够获得用户名并将其显示在侧面。让它在2秒内淡入。我被困在如何让字母一次一个字母淡入淡出的问题上

function submit ()  
print( "connect" )
userName = userNameField.text
display_userName = display.newText( userName, display.contentWidth-20, display.contentHeight/2 )
    display_userName.rotation = 90
    display_userName.alpha = 0

userNameField: removeSelf( )
greeting:removeSelf( )
submitButton:removeSelf( )

transition.fadeIn( display_userName, {time = 2000} )

如果您需要查看更多我的代码,请告诉我。

以下是用于存储表中每个字符的代码片段。 初始化变量:

check =0;
这里splitWord是一个表,用于存储字符串的每个字符。变量“yourStringForOneLetter”是用于拆分的字符串变量。“string.sub”将使用for循环将字符串拆分为单词

 if(check==wordSize) then
   check=1
 end

 local wordSize = string.len(yourStringForOneLetter)
 splitWord = {}

 for i=check, check do            
   splitWord[i] = string.sub(yourStringForOneLetter, i, i)    
   check= check +1;
 end

下面是用于存储表中每个字符的代码段。 初始化变量:

check =0;
这里splitWord是一个表,用于存储字符串的每个字符。变量“yourStringForOneLetter”是用于拆分的字符串变量。“string.sub”将使用for循环将字符串拆分为单词

 if(check==wordSize) then
   check=1
 end

 local wordSize = string.len(yourStringForOneLetter)
 splitWord = {}

 for i=check, check do            
   splitWord[i] = string.sub(yourStringForOneLetter, i, i)    
   check= check +1;
 end

您可以通过以下简单方式完成此操作:

local myString = "Adam"  -- Create your string
local positionCount = 0     -- initialize a variable to determine letter position

local function displayData()
  positionCount = positionCount + 1
  if(positionCount<=string.len(myString))then
    -- if positionCount is less than or equal to letters in 'myString'
    local letter = string.sub(myString, positionCount, positionCount) -- get the current letter
    local letterLabel = display.newText(letter,20,20*positionCount,nil,20) -- place the letter
    letterLabel.alpha = 0;
    -- display the label and update the function after the completion of transition
    transition.to(letterLabel,{time=1000,alpha=1,onComplete=displayData})
  end
end
displayData()
local myString=“Adam”--创建您的字符串
local positionCount=0——初始化变量以确定字母位置
本地函数displayData()
位置计数=位置计数+1

如果(positionCount,您可以通过以下简单方式完成:

local myString = "Adam"  -- Create your string
local positionCount = 0     -- initialize a variable to determine letter position

local function displayData()
  positionCount = positionCount + 1
  if(positionCount<=string.len(myString))then
    -- if positionCount is less than or equal to letters in 'myString'
    local letter = string.sub(myString, positionCount, positionCount) -- get the current letter
    local letterLabel = display.newText(letter,20,20*positionCount,nil,20) -- place the letter
    letterLabel.alpha = 0;
    -- display the label and update the function after the completion of transition
    transition.to(letterLabel,{time=1000,alpha=1,onComplete=displayData})
  end
end
displayData()
local myString=“Adam”--创建您的字符串
local positionCount=0——初始化变量以确定字母位置
本地函数displayData()
位置计数=位置计数+1

如果(PositionCount)不清楚这是什么意思“在屏幕的一侧显示名称,一次显示一个字母”。这是否意味着你只看到一个足够容纳一个字母的框,并且你在其中看到每个字母几秒钟?也许你可以画它并在你的问题中插入图像?我希望“澄清”要点帮助说明我试图不清楚的是什么意思“在屏幕的一侧显示名称,一次显示一个字母”。这是否意味着你只看到一个足够容纳一个字母的框,并且你在其中看到每个字母几秒钟?也许你可以画它并在你的问题中插入图像?我希望如此“澄清”要点有助于说明我试图做什么如何删除usernamefield?当我使用removeSelf()时,我得到的结果是只有该人姓名的第一个字母淡入。删除usernamefield是什么意思。请澄清。这不包括在问题中。否则,将其作为一个新问题提问。为什么不被接受…?我提出了一个新问题,正如建议的那样…。我希望这可以消除混淆。当我使用remov时,如何删除usernamefieldeSelf(),我得到的结果是,只有人名的第一个字母淡入。删除usernamefield是什么意思。请澄清。这不包括在问题中。否则,将其作为一个新问题提问。为什么不被接受…?我提出了一个建议的新问题。我希望这能消除混淆