首页 > 解决方案 > Bevy 游戏引擎中父 ImageBundles 的正确方法是什么,这样子图像不会改变父图像的大小?

问题描述

当我尝试将两个 ImageBundles 放在一起时,我没有得到预期的结果。子图像使父图像的大小调整为子图像的大小。我试图将按钮图像放在背景图像的顶部,但是下面的代码将按钮图像放在背景图像上,然后将背景图像缩放到按钮图像的大小。

如果我注释掉 push_children 代码行,那么两个图像都会以正确的大小显示。

   let ent1 = commands.spawn_bundle(ImageBundle {
       style: Style {
           align_self: AlignSelf::Center,
           ..Default::default()
       },
       material: materials.add(
           asset_server.load("Background.png").into()),
       transform: Transform::from_translation(Vec3::new(0.0, 0.0, 0.0)),
       ..Default::default()
   }).id();

   let ent2 = commands.spawn_bundle(ImageBundle {
       style: Style {
           align_self: AlignSelf::Center,
           ..Default::default()
       },
       material: materials.add(
           asset_server.load("button.png").into()),
       transform: Transform::from_translation(Vec3::new(0.0, 0.0, 0.0)),
       ..Default::default()
   }).id();

   commands.entity(ent1).push_children(&[ent2]);

标签: bevy

解决方案


推荐阅读