小程序游戏开发基础(附代码示例)

网友投稿 453 2025-07-24 16:17:10

基础

#系统

#getSystemInfoSync

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

getSystemInfoSync()

getSystemInfo 的同步版本。

#getSystemInfoAsync

ft.getSystemInfoAsync(Object object)

异步获取系统信息

参数

Object object

属性类型默认值必填说明
successfunction
接口调用成功的回调函数
failfunction
接口调用失败的回调函数
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性类型说明最低版本
brandstring设备品牌1.5.0
modelstring设备型号。新机型刚推出一段时间会显示unknown,会尽快进行适配。
pixelRationumber设备像素比
screenWidthnumber屏幕宽度,单位px1.1.0
screenHeightnumber屏幕高度,单位px1.1.0
windowWidthnumber可使用窗口宽度,单位px
windowHeightnumber可使用窗口高度,单位px
statusBarHeightnumber状态栏的高度,单位px1.9.0
languagestringAPP 设置的语言
versionstring版本号
systemstring操作系统及版本
platformstring客户端平台
fontSizeSettingnumber用户字体大小(单位px)1.5.0
SDKVersionstring客户端基础库版本1.1.0
benchmarkLevelnumber设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50)1.8.0
albumAuthorizedboolean允许使用相册的开关(仅 iOS 有效)2.6.0
cameraAuthorizedboolean允许使用摄像头的开关2.6.0
locationAuthorizedboolean允许使用定位的开关2.6.0
microphoneAuthorizedboolean允许使用麦克风的开关2.6.0
notificationAuthorizedboolean允许通知的开关2.6.0
notificationAlertAuthorizedboolean允许通知带有提醒的开关(仅 iOS 有效)2.6.0
notificationBadgeAuthorizedboolean允许通知带有标记的开关(仅 iOS 有效)2.6.0
notificationSoundAuthorizedboolean允许通知带有声音的开关(仅 iOS 有效)2.6.0
bluetoothEnabledboolean蓝牙的系统开关2.6.0
locationEnabledboolean地理位置的系统开关2.6.0
wifiEnabledbooleanWi-Fi 的系统开关2.6.0
safeAreaObject在竖屏正方向下的安全区域2.7.0
locationReducedAccuracybooleantrue 表示模糊定位,false 表示精确定位,仅 iOS 支持
themestring系统当前主题,取值为lightdark,全局配置"darkmode":true时才能获取,否则为 undefined (不支持小游戏)2.11.0
enableDebugboolean是否已打开调试。可通过右上角菜单或 ft.setEnableDebug 打开调试。2.15.0
deviceOrientationstring设备方向

safeArea 的结构

属性类型说明
leftnumber安全区域左上角横坐标
rightnumber安全区域右下角横坐标
topnumber安全区域左上角纵坐标
bottomnumber安全区域右下角纵坐标
widthnumber安全区域的宽度,单位逻辑像素
heightnumber安全区域的高度,单位逻辑像素

theme 的合法值

说明最低版本
dark深色主题
light浅色主题

host 的结构

属性类型说明
appIdstring宿主 app 对应的 appId

deviceOrientation 的合法值

说明最低版本
portrait竖屏
landscape横屏

示例代码

在开发者工具中预览效果

ft.getSystemInfoAsync({
  success (res) {
    console.log(res.model)
    console.log(res.pixelRatio)
    console.log(res.windowWidth)
    console.log(res.windowHeight)
    console.log(res.language)
    console.log(res.version)
    console.log(res.platform)
  }})
        已复制代码

#getSystemInfo

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

getSystemInfo(Object object)

获取系统信息。

参数

Object object

属性类型默认值必填说明
successfunction
接口调用成功的回调函数
failfunction
接口调用失败的回调函数
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数参数

Object res

属性类型说明
SDKVersionstring小程序基础库版本号
runtimeSDKVersionstring小程序SDK版本号
brandstring设备品牌
modelstring设备型号
pixelRationumber设备像素比
screenWidthnumber屏幕宽度,单位px
screenHeightnumber屏幕高度,单位px
windowWidthnumber可使用窗口宽度,单位px
windowHeightnumber可使用窗口高度,单位px
statusBarHeightnumber状态栏的高度,单位px
languagestring宿主应用设置的语言
versionstring宿主应用的版本号
systemstring操作系统及版本
platformstring客户端平台
inFinChatboolean是否在finchat小程序环境
deviceIdstring设备标识

示例代码

 ft.getSystemInfo({
  success(res) {
    console.log(res.model)
    console.log(res.pixelRatio)
    console.log(res.windowWidth)
    console.log(res.windowHeight)
    console.log(res.language)
    console.log(res.version)
    console.log(res.platform)
  }})
        已复制代码

#更新

#getUpdateManager

基础库1.5.30开始支持,iOS版本2.5.6,Android版本2.8.76

获取全局唯一的版本更新管理器,用于管理小程序更新。 返回值UpdateManager

UpdateManager方法

UpdateManager.applyUpdate() 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。

UpdateManager.onCheckForUpdate(function callback) 监听向后台请求检查更新结果事件。SDK在小程序冷启动时自动检查更新,不需由开发者主动触发。

UpdateManager.onUpdateReady(function callback) 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 UpdateManager.onUpdateFailed(function callback) 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调。

示例代码

const updateManager = ft.getUpdateManager()updateManager.onCheckForUpdate(function (res) {
  // 请求完新版本信息的回调
  console.log(res.hasUpdate)})updateManager.onUpdateReady(function () {
  ft.showModal({
    title: '更新提示',
    content: '新版本已经准备好,是否重启应用?',
    success: function (res) {
      if (res.confirm) {
        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
        updateManager.applyUpdate()
      }
    }
  })})updateManager.onUpdateFailed(function () {
  // 新版本下载失败})
        已复制代码

#小程序

#onShow

ft.onShow(function callback)

监听小游戏切前台事件。

参数

function callback

小游戏切前台事件的回调函数

参数

Object res

属性类型说明
pathstring小游戏切前台的路径 (代码包路径)
queryObject小程序切前台的 query 参数
referrerInfoObject来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 {}。(参见后文注意)

referrerInfo 的结构

属性类型说明
appIdstring小程序的 appId
extraDataObject来源小程序传过来的数据

注意

部分版本在无referrerInfo的时候会返回 undefined,建议使用 options.referrerInfo && options.referrerInfo.appId 进行判断。

#onHide

ft.onHide(function callback)

监听小游戏切后台事件。

参数

function callback

小游戏切后台事件的回调函数

#offShow

ft.offShow(function callback)

取消监听小游戏切前台事件

参数

function callback

小游戏切前台事件的回调函数

#offHide

ft.offHide(function callback)

取消监听小游戏切后台事件

参数

function callback

小游戏切后台事件的回调函数

#getLaunchOptionsSync

Object ft.getLaunchOptionsSync() 获取小游戏启动时的参数。

返回值

Object

启动参数

属性类型说明
queryObject启动小游戏的 query 参数
referrerInfoObject来源信息

referrerInfo 的结构

属性类型说明
appIdstring来源小程序、公众号或 App 的 appId
extraDataObject来源小程序传过来的数据

#getEnterOptionsSync

Object ft.getEnterOptionsSync()

获取本次小游戏启动时的参数。 返回值

Object

启动参数

属性类型说明
queryObject启动小游戏的 query 参数
referrerInfoObject来源信息

referrerInfo 的结构

属性类型说明
appIdstring小程序的 appId
extraDataObject来源小程序传过来的数据

注意

部分版本在无 referrerInfo 的时候会返回 undefined,建议使用 options.referrerInfo && options.referrerInfo.appId 进行判断。

#应用级事件

#onError

ft.onError(function callback)

监听小游戏错误事件,如脚本错误或 API 调用报错等。

参数

function callback

小游戏错误事件的回调函数

参数

string error

错误信息,包含堆栈

#onAudioInterruptionBegin

ft.onAudioInterruptionBegin(function callback)

监听音频因为受到系统占用而被中断开始事件。包括但不仅限于以下场景会触发此事件:闹钟、电话等。

此事件触发后,小程序内所有音频会暂停。

参数

function callback

音频因为受到系统占用而被中断开始事件的监听函数

#onAudioInterruptionEnd

ft.onAudioInterruptionEnd(function callback)

监听音频中断结束事件

在收到 onAudioInterruptionEnd 事件之后,小游戏内所有音频会暂停,收到此事件之后才可再次播放成功

参数

function callback

音频中断结束事件的监听函数

#offError

ft.offError(function callback)

取消监听小游戏错误事件。

参数

function callback

onError 传入的回调函数

#offAudioInterruptionBegin

ft.offAudioInterruptionBegin(function callback)

取消监听音频因为受到系统占用而被中断开始的事件

参数

function callback

onAudioInterruptionBegin 传入的回调函数

#offAudioInterruptionEnd

ft.offAudioInterruptionEnd(function callback)

取消监听音频中断结束事件

参数

function callback

onAudioInterruptionEnd 传入的回调函数

#调试

#setEnableDebug

ft.setEnableDebug(Object object)

设置是否打开调试开关。此开关对正式版也能生效。

参数

Object object

属性类型默认值必填说明
enableDebugboolean
是否打开调试
successfunction
接口调用成功的回调函数
failfunction
接口调用失败的回调函数
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

// 打开调试ft.setEnableDebug({
  enableDebug: true})// 关闭调试ft.setEnableDebug({
  enableDebug: false})
        已复制代码

Tips

  • 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序中获取用户 openId 的方法代码实例解析
下一篇:提升工作效率与数据分析能力的DeepSeek智能体小程序
相关文章