Difference between revisions of "Global Command: createScreenshot"
From The Official Visionaire Studio: Adventure Game Engine Wiki
| (One intermediate revision by the same user not shown) | |||
| Line 26: | Line 26: | ||
|- | |- | ||
| clear (bool) | | clear (bool) | ||
| − | | If true the screenshot will be cleared | + | | If true the screenshot will be cleared. 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). If the "flags" parameter is omitted, this defaults to false. |
|} | |} | ||
| 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}} | ||
Latest revision as of 18:58, 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. 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). If the "flags" parameter is omitted, this defaults to false. | ||
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