Corona模拟器和newTextField。

我认为使用 Corona 模拟器时不能使用 "newTextField" 是一个很大的限制,我需要构建应用程序并在设备上安装它才能看到它是否正常工作。

以下代码由于某种原因对我不起作用,我不知道如何进行调试。 我只是想保存 "玩家名称"

local function textListener( event )

    if ( event.phase == "began" ) then

        -- 用户开始编辑文本字段
        print( event.text )
        myGameSettings.playerName = event.text
        saveSettings()

    elseif ( event.phase == "ended" ) then

        -- 文本字段失去焦点
        myGameSettings.playerName = event.text
        saveSettings()

    elseif ( event.phase == "ended" or event.phase == "submitted" ) then

        myGameSettings.playerName = event.text
        saveSettings()
        -- 使用 defaultField 的文本做某事

    elseif ( event.phase == "editing" ) then

        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )

    end
end

local playerName = native.newTextField( centerX, display.contentCenterY-100, display.contentWidth, 50 )
display.newText("选择一个名称", 20, playerName.y-70, native.systemFont)

playerName:addEventListener( "userInput", textListener )
点赞
用户869951
用户869951

这似乎只在企业版中支持。

2014-03-23 12:17:51
用户756383
用户756383

问题描述

你的问题是模拟器中无法工作吗?因为在 Windows PC 模拟器上无法工作,但在 Mac 模拟器上可以。我在 Mac 和 PC 上开发,可以在 Mac 上完美使用,但在 PC 上却不行。我也不是企业版用户,而是使用免费版。

当我在 PC 上工作时,我的调试方式是将我的设备连接到计算机并打印调试日志,因为它会打印出任何错误(显然,我只能使用连接到我的 PC 的 Android 设备)。

2014-03-24 15:46:18
用户2409015
用户2409015

首先, native.newTextField 在 Windows 机器模拟器上不会显示。你需要在设备上进行测试构建。但你可以在模拟器上进行调试。使用下面的代码在模拟器上进行调试。

注意:文本字段区域不可见,但当你点击它(假设文本字段位置),会显示带有蓝色矩形边框的文本字段。

-- 隐藏状态栏
display.setStatusBar( display.HiddenStatusBar )

-- 将背景设为白色
display.setDefault( "background", 255, 255, 255 )

-- 引入 widget 和 storyboard 库
local widget = require( "widget" )

local function textListener( event )

    if ( event.phase == "began" ) then
        print( event.text )

    elseif ( event.phase == "ended" or event.phase == "submitted" ) then

        -- 对 defaultField 的文本进行处理
    elseif ( event.phase == "editing" ) then
         print("in move")
        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )

    end
end

local playerName = native.newTextField( 300, 300, 400, 50 ) -- 创建文本字段
local a = display.newText("Choose a name", 20, playerName.y-70, native.systemFont) -- 创建提示文本
a.x=100
a.y = playerName.y-70
a:setTextColor(0,0,0)

playerName:addEventListener( "userInput", textListener ) -- 将事件监听器绑定到文本字段上
2014-03-25 12:14:58