You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ursina Engine(Python)中设置窗口背景失败,求解决方法

游戏窗口背景图片设置问题解决方法

问题分析

你尝试的两种方法都存在场景适配问题:

  • Sky类:这个类是为3D场景设计的天空盒,会将纹理映射到包裹整个3D空间的球体内,完全不适合作为2D窗口背景,效果不符合预期是正常的。
  • Entity类:你的写法缺少关键参数配置,导致背景无法显示。

解决方案

正确使用Entity类设置2D窗口背景

以下是可直接运行的示例代码,核心是配置纹理路径、适配窗口的尺寸、锚点和层级:

from ursina import *

app = Ursina()

# 窗口背景设置
mainbg = Entity(
    parent=camera.ui,  # 挂载到UI相机下,确保2D显示
    texture='Assets/ruined_city_main_bg.png',  # 务必加上正确文件后缀(如.png/.jpg)
    scale_x=camera.aspect_ratio,  # 自动适配窗口宽高比,避免拉伸
    scale_y=1,
    z=10,  # 设为较大值,让背景处于所有UI元素底层
    anchor=(0, 0),  # 将锚点设为屏幕左上角
    position=(0, 0)  # 对齐左上角
)

# 测试用UI元素,验证背景在底层
test_text = Text(text='测试文本', position=(0, 0))

app.run()

背景不显示的排查点

  1. 纹理路径错误:检查文件是否存在于指定路径,确认后缀(如.png)是否遗漏。
  2. 尺寸适配问题:不设置scale或size时,Entity默认大小为1x1,可能小到无法察觉。
  3. 层级遮挡:确保背景的z值大于其他UI元素(Ursina中UI层级z值越大越靠后)。
  4. 锚点与位置:默认锚点是屏幕中心,若位置配置不当,背景可能偏移出显示区域。

内容的提问来源于stack exchange,提问作者Мирончук Максим

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:31:05