在开发跨平台的游戏时,常常会遇到不同平台UI界面不同的问题。一般的解决方法是桌面端一套界面,移动端一套界面。

然后在具体的创建UI界面逻辑时,手动选择对应的用户控件:
但是这样做需要手动切换不够智能,事实上这部分逻辑完全可以交给UE来做。可以创建一个函数,名为平台判断:

这个函数可以是纯函数,减少蓝图中的连线,只需要返回一个布尔值,如果是移动端则返回真,桌面端则返回假:

函数具体逻辑如下,主要利用了UE提供的获取平台命名,根据不同的平台输出不同的值:

在创建UI界面时,根据返回的值选择不同的UI界面即可:

这个平台判断函数可能在其他地方也会用到,所以可以创建一个蓝图函数库,将此函数放入新创建的蓝图函数库中:


在需要使用的地方,输出函数名平台判断即可:

最后,这个逻辑可以发散一下,如果你的项目有打包到更多平台的需求,可以创建一个枚举,根据枚举来选择对应的用户控件也是可以的。



暂无关于此日志的评论。