类型 函数 返回值 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 )