Difference between revisions of "Global Command: createScreenshot"
From The Official Visionaire Studio: Adventure Game Engine Wiki
| (6 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | {| class=" | + | Create a screenshot to be used for the next savegame or to save into an external folder as a .png file. |
| + | |||
| + | |||
| + | == Syntax == | ||
| + | <syntaxhighlight lang="lua"> | ||
| + | createScreenshot(filename, flags) | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | == Parameters == | ||
| + | |||
| + | {| class="ts" | ||
| + | |- | ||
| + | ! style="width:15%" | Parameter | ||
| + | ! style="width:15%" colspan="2" | Type/Structure | ||
| + | ! Description | ||
| + | |- | ||
| + | | filename | ||
| + | | colspan="2" | 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. | ||
|- | |- | ||
| − | + | | rowspan="2" | flags | |
| + | | rowspan="2" | 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: | + | '''Example 1:''' Save a screenshot which will get used for the next savegame. |
| − | <syntaxhighlight | + | <syntaxhighlight lang="lua"> |
| − | + | createScreenshot() | |
| − | createScreenshot( | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | '''Example 2:''' Clear the previously saved savegame screenshot. | |
| − | + | <syntaxhighlight lang="lua"> | |
| − | createScreenshot(" | + | createScreenshot("", {flags=1, clear = true}) |
</syntaxhighlight> | </syntaxhighlight> | ||
| + | '''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"> |
| + | createScreenshot("screenshots/my_screenshot.png") | ||
| + | </syntaxhighlight> | ||
| − | |||
| − | |||
| + | '''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"> | ||
| + | -- 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> | ||
{{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