Difference between revisions of "Global Command: createScreenshot"
From The Official Visionaire Studio: Adventure Game Engine Wiki
Line 36: | Line 36: | ||
== Examples == | == Examples == | ||
− | '''Example 1:''' Save a screenshot | + | |
+ | '''Example 1:''' Save a screenshot which will get used for the next savegame. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
− | + | createScreenshot() | |
− | createScreenshot( | + | </syntaxhighlight> |
+ | |||
− | + | '''Example 2:''' Clear the previously saved savegame screenshot. | |
− | + | <syntaxhighlight lang="lua"> | |
− | createScreenshot(" | + | createScreenshot("", {flags=1, clear = true}) |
</syntaxhighlight> | </syntaxhighlight> | ||
− | '''Example | + | '''Example 3:''' Save a screenshot to a folder. If a file with the same name already exists, it will be overwritten. Be aware that the default save location is the game directory, which may be write-protected. |
+ | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
− | createScreenshot() | + | createScreenshot("screenshots/my_screenshot.png") |
</syntaxhighlight> | </syntaxhighlight> | ||
− | '''Example | + | '''Example 4:''' This expanded example uses the "lfs" file system library to check for a "screenshots" folder inside the user directory and creates it if it doesn't exist. |
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
− | + | -- Define a screenshot folder inside the user directory | |
+ | local screenshot_folder = localAppDir .. "screenshots" | ||
+ | |||
+ | -- Function to check if a folder exists | ||
+ | function folderExists(strFolderName) | ||
+ | if lfs.attributes(strFolderName:gsub("\\$",""),"mode") == "directory" then | ||
+ | return true | ||
+ | else | ||
+ | return false | ||
+ | end | ||
+ | end | ||
+ | |||
+ | -- Try to create the screenshot folder, if it doesn't exist | ||
+ | if not folderExists(screenshot_folder) then | ||
+ | lfs.mkdir(screenshot_folder) | ||
+ | end | ||
+ | |||
+ | -- If the screenshot folder exists, save a screenshot with timestamp | ||
+ | if folderExists(screenshot_folder) then | ||
+ | local time = os.date("%Y-%m-%d_%H-%M-%S") | ||
+ | createScreenshot(screenshot_folder .. "/screenshot_" .. time .. ".png") | ||
+ | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{toc}} | {{toc}} |
Revision as of 14:13, 2 May 2023
Create a screenshot to be used for the next savegame or to save into an external folder as a .png file.
Syntax
createScreenshot(filename, flags)
Parameters
Parameter | Type/Structure | Description | |
---|---|---|---|
filename | string | If specified the screenshot will be saved to the given path. If not specified the screenshot will be used for the next savegame(s), until a new screenshot is created or the current screenshot is cleared. If a screenshot for a savegame was created before it will be overwritten by the new screenshot. | |
flags | table | flags = 1 | indicates flags table |
clear (bool) | If true the screenshot will be cleared. Default value is false. If the screenshot is cleared, savegame screenshots will be generated automatically by the engine again (everytime the scene is changed from a playable scene to a menu). |
Return values
none
Examples
Example 1: Save a screenshot which will get used for the next savegame.
createScreenshot()
Example 2: Clear the previously saved savegame screenshot.
createScreenshot("", {flags=1, clear = true})
Example 3: Save a screenshot to a folder. If a file with the same name already exists, it will be overwritten. Be aware that the default save location is the game directory, which may be write-protected.
createScreenshot("screenshots/my_screenshot.png")
Example 4: This expanded example uses the "lfs" file system library to check for a "screenshots" folder inside the user directory and creates it if it doesn't exist.
-- Define a screenshot folder inside the user directory
local screenshot_folder = localAppDir .. "screenshots"
-- Function to check if a folder exists
function folderExists(strFolderName)
if lfs.attributes(strFolderName:gsub("\\$",""),"mode") == "directory" then
return true
else
return false
end
end
-- Try to create the screenshot folder, if it doesn't exist
if not folderExists(screenshot_folder) then
lfs.mkdir(screenshot_folder)
end
-- If the screenshot folder exists, save a screenshot with timestamp
if folderExists(screenshot_folder) then
local time = os.date("%Y-%m-%d_%H-%M-%S")
createScreenshot(screenshot_folder .. "/screenshot_" .. time .. ".png")
end