Bevy 中的默认字体无法使用吗?
Is the default font in Bevy unusable?
尝试打印“Hello, world!”时使用 Bevy 到屏幕上,在我导入第三方字体文件并将其作为资产加载以用作 Text
组件的 TextStyle
值中的字体值之前,文本不会显示。在使用该字体之前,我没有明确指定字体;我刚刚使用了 Default::default()
中的值,即 WeakHandle<Font>(Id(97059ac6-c9ba-4da9-95b6-bed82c3ce198, 0))
。这似乎暗示 Bevy 找到了错误的字体,或者至少是默认情况下无法使用的字体。这更有可能是我的系统提供的字体问题还是 Bevy 默认字体功能问题?
这是一个最小的可重现示例:
use bevy::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_startup_system(setup)
.run();
}
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.spawn_bundle(UiCameraBundle::default());
commands.spawn_bundle(TextBundle {
text: Text::with_section(
"Hello, world!",
TextStyle {
font_size: 60.0,
color: Color::WHITE,
font: asset_server.load("FiraSans-Bold.ttf")
},
Default::default()
),
..Default::default()
});
}
该代码有效。当我将字体值从 asset_server.load("FiraSans-Bold.ttf")
更改为 Default::default()
时,屏幕上没有任何显示。
Bevy 目前不提供默认字体。
有 this closed PR to add one and there are several open issues connected to this, like this or that one.
话虽如此,但我认为可以做到这一点令人困惑:
TextStyle {
font_size: 60.0,
color: Color::WHITE,
font: Default::default()
},
尝试打印“Hello, world!”时使用 Bevy 到屏幕上,在我导入第三方字体文件并将其作为资产加载以用作 Text
组件的 TextStyle
值中的字体值之前,文本不会显示。在使用该字体之前,我没有明确指定字体;我刚刚使用了 Default::default()
中的值,即 WeakHandle<Font>(Id(97059ac6-c9ba-4da9-95b6-bed82c3ce198, 0))
。这似乎暗示 Bevy 找到了错误的字体,或者至少是默认情况下无法使用的字体。这更有可能是我的系统提供的字体问题还是 Bevy 默认字体功能问题?
这是一个最小的可重现示例:
use bevy::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_startup_system(setup)
.run();
}
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.spawn_bundle(UiCameraBundle::default());
commands.spawn_bundle(TextBundle {
text: Text::with_section(
"Hello, world!",
TextStyle {
font_size: 60.0,
color: Color::WHITE,
font: asset_server.load("FiraSans-Bold.ttf")
},
Default::default()
),
..Default::default()
});
}
该代码有效。当我将字体值从 asset_server.load("FiraSans-Bold.ttf")
更改为 Default::default()
时,屏幕上没有任何显示。
Bevy 目前不提供默认字体。
有 this closed PR to add one and there are several open issues connected to this, like this or that one.
话虽如此,但我认为可以做到这一点令人困惑:
TextStyle {
font_size: 60.0,
color: Color::WHITE,
font: Default::default()
},