display.newSnapshot()

类型 函数
display.*
返回值 SnapshotObject(快照对象)
修订 版本 2024.3703
关键词 快照
另请参阅 快照 (指南)

概览

快照对象允许您捕获一组显示对象并将它们渲染成扁平化图像。该图像由添加到快照 group 属性的对象定义。

快照 指南中了解更多关于快照的信息。

注意事项

Android

当应用暂停时,Android 操作系统会从内存中移除所有 OpenGL 纹理。当应用恢复时,Corona 必须重新加载所有图像,但捕获的图像不再存在于内存中。如果您需要在 Android 中恢复快照图像,一种解决方案是通过 display.save() 函数将返回的捕获图像保存到文件。请注意,这应该立即完成,而不是在 "applicationSuspend""applicationExit" 系统 事件期间(在这些时间,内存中将没有 OpenGL 纹理可供保存)。

语法

display.newSnapshot( [parent,] w, h )
parent (可选)

GroupObject(组对象). 用于插入快照的可选显示组。

w / h (必填)

Number(数字). 快照的宽度和高度。

示例

local snapshot = display.newSnapshot( 200, 200 )

math.randomseed( 0 )

-- Add fish to the screen
for i=1,4 do
    local fish = display.newImage( "fish.small.red.png" )

    -- move to random position in a 200x200 region in the middle of the screen
    fish:translate( math.random( -100, 100 ), math.random( -100, 100 ) )

    -- insert fish into snapshot
    snapshot.group:insert( fish )
end

snapshot:translate( halfW, halfH )  -- Center snapshot
snapshot:invalidate()               -- Invalidate snapshot
snapshot.alpha = 0.5                -- Apply to flattened image