类型 函数 返回值 ImageInfo 版本 版本 2024.3703 关键词 steam, steamworks, getUserImageInfo 另请参阅 steamworks.newImageRect() steamworks.newTexture() steamworks.*
返回一个 ImageInfo 对象。该对象提供有关一个用户头像图像的信息,例如其像素宽度、像素高度和唯一图像句柄。该对象的 imageHandle 属性是通过 steamworks.newImageRect() 和 steamworks.newTexture() 函数加载图像所需的。
当尝试获取有关 184×184 像素 "largeAvatar" 图像的信息时,此函数通常会返回 nil。这是因为 Steam 客户端通常不会缓存这些大图像。
此外,在以下情况下,此函数将始终返回 nil
false,表示应用程序当前未连接到 Steam 客户端。true 时,此事件将指示图像已下载。steamworks.getUserImageInfo( type [, userSteamId] )
字符串。 要从用户获取的图像的唯一名称。 必须是以下之一
| 类型 | 像素大小 (宽×高) |
|---|---|
"smallAvatar" |
32×32 |
"mediumAvatar" |
64×64 |
"largeAvatar" |
184×184 |
字符串。 用户的唯一字符串 ID。如果未提供此参数,则 ID 将默认为当前用户。
local steamworks = require( "plugin.steamworks" )
-- Forward-reference the last displayed avatar image
local avatarImage
-- Displays the currently logged in user's avatar image
local function displaySteamUserAvatar()
-- Fetch information about the user's medium-sized avatar image
local imageInfo = steamworks.getUserImageInfo( "mediumAvatar" )
if ( imageInfo == nil ) then
-- Image is not available yet; wait for a "userInfoUpdate" event
return
end
-- Display the avatar image
local newAvatarImage = steamworks.newImageRect( imageInfo.imageHandle, 64, 64 )
if ( newAvatarImage == nil ) then
return
end
newAvatarImage.x = display.contentCenterX
newAvatarImage.y = display.contentCenterY
-- Remove the last displayed avatar image, if it exists
if ( avatarImage ) then
avatarImage:removeSelf()
end
-- Store a reference to the new avatar image
avatarImage = newAvatarImage
end
-- Attempt to show the currently logged in user's avatar image on startup
-- Note that this will likely fail on the first app launch by the Steam client
displaySteamUserAvatar()
-- Called when a Steam user's information/avatar has changed
local function onSteamUserInfoUpdated( event )
-- Display current user's medium-sized avatar if it changed or loaded for the first time
if ( ( event.userSteamId == steamworks.userSteamId ) and event.mediumAvatarChanged ) then
displaySteamUserAvatar()
end
end
steamworks.addEventListener( "userInfoUpdate", onSteamUserInfoUpdated )