3个版本
0.1.2 | 2022年10月5日 |
---|---|
0.1.1 | 2022年10月5日 |
0.1.0 | 2022年10月5日 |
#2344 in 游戏开发
190KB
142 行
bevy_independent_transform
具有IndependentTransform
的实体相对于其父实体具有位置,但不是Bevy变换层次结构的一部分。
使用Transform
使用IndependentTransform
支持Bevy 0.8
设置
将依赖项添加到您的Cargo.toml
bevy_independent_transform = "0.1"
并将插件添加到您的App
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(IndependentTransformPlugin)
// .. rest of App
run()
}
用法
IndependentTransform
是包裹Transform
的新类型。像Transform
一样,具有IndependentTransform
的实体也应该具有一个GlobalTransform
。
您可以直接插入一个IndependentTransform
组件,或者使用此crate包含的任何捆绑包之一
IndependentSpriteBundle
IndependentSpriteSheetBundle
IndependentText2dBundle
IndependentTransformBundle
如果实体同时具有IndependentTransform
和Transform
组件,则IndependentTransform
组件将被忽略。
示例
cargo run --example text
cargo run --example sprites
注意
有关尊重Bevy变换层次结构的替代方案,请参阅我的另一个crate:
https://github.com/ickshonpe/bevy_fixed_sprites
此方法似乎更适合文本和游戏图标,而bevy_fixed_sprites可能更适合代表游戏角色和对象的精灵。
我不确定如何结合这两种方法。也许在不引入大量复杂性和额外组件的情况下是不可能的,或者需要完全替换Bevy的transform_propagate_system
系统。但我还没有真正考虑过这个问题。
依赖关系
~42–56MB
~805K SLoC