类型 函数 库 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 } )