类型 函数 库 widget.* 返回值 StepperWidget 修订版 版本 2024.3703 关键字 小组件、步进器、增加、减少、控制 另请参见 StepperWidget 
创建 StepperWidget 对象。步进器包括一个减号按钮和一个加号按钮,可以点击或按住这两个按钮来减少/增加一个值,例如,游戏中音乐或声音音量设置。
为节省纹理内存,只能从 图片表 创建 StepperWidget 对象。
StepperWidget 对象不支持 缩放 也不能通过 .width 或 .height 来更改宽度/高度。
widget.newStepper( options )
此函数接受一个参数,options,它是一个接受以下参数的表格
字符串. 分配给步进器的可选标识。默认值为 widget_stepper。
数字. 小组件的 x 和 y 中心点的坐标。如果定义了 left 和 top,则 x 和 y 参数将被这些值覆盖。
数字. 小组件将创建的位置的左上角。如果指定了这些值,则 x 和 y 参数将被这些值覆盖。
数字. 步进器开始时的初始值。默认值为 0。
数字. 步进器可以达到的最小值。默认值为 0。
数字. 步进器可以达到的最大值。默认情况下没有限制。
数字. 每执行一次步进器增量所用的初始速度,以毫秒为单位。默认值为 1000。通过 changeSpeedAtIncrement,可以控制发生速度变化的增量次数。
数字. 速度变化的增量次数。默认值为 5。通过 timerIncrementSpeed,可以控制增量速度。
侦听器. 一个可选函数,在按下并按住步进器片段后立即调用。此回调函数返回以下 event.phase 事件:increment、decrement、minLimit 和 maxLimit。
可以使用来自 图像表 的 5 个框架以可视方式自定义步进器小组件。

ImageSheet。 步进器的 图像表 对象。
Number。 当减号侧和加号侧都处于活动状态时使用的默认框架。
Number。 当步进器达到最小值时使用的框架,指示对减号侧的点击没有明显结果。
Number。 当步进器达到最大值时使用的框架,指示对加号侧的点击没有明显结果。
Number。 用于表示在减号侧发生点击/按住的框架。
Number。 用于表示在加号侧发生点击/按住的框架。
local widget = require( "widget" )
local currentNumber = 0
-- Handle stepper events
local function onStepperPress( event )
    if ( "increment" == event.phase ) then
        currentNumber = currentNumber + 1
    elseif ( "decrement" == event.phase ) then
        currentNumber = currentNumber - 1
    end
    print( currentNumber )
end
        
-- Create the widget
local newStepper = widget.newStepper(
    {
        left = 150,
        top = 200,
        minimumValue = 0,
        maximumValue = 50,
        onPress = onStepperPress
    }
)
local widget = require( "widget" )
local currentNumber = 0
-- Handle stepper events
local function onStepperPress( event )
    if ( "increment" == event.phase ) then
        currentNumber = currentNumber + 1
    elseif ( "decrement" == event.phase ) then
        currentNumber = currentNumber - 1
    end
    print( currentNumber )
end
-- Image sheet options and declaration
-- For testing, you may copy/save the image under "Visual Customization" above
local options = {
    width = 196,
    height = 100,
    numFrames = 5,
    sheetContentWidth = 980,
    sheetContentHeight = 100
}
local stepperSheet = graphics.newImageSheet( "widget-stepper.png", options )
-- Create the widget
local newStepper = widget.newStepper(
    {
        width = 196,
        height = 100,
        sheet = stepperSheet,
        defaultFrame = 1,
        noMinusFrame = 2,
        noPlusFrame = 3,
        minusActiveFrame = 4,
        plusActiveFrame = 5,
        onPress = onStepperPress
    }
)