首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Bevy中翻转spritesheet

如何在Bevy中翻转spritesheet
EN

Stack Overflow用户
提问于 2020-08-24 05:45:18
回答 1查看 460关注 0票数 4

我正在尝试根据玩家在屏幕上是向左还是向右移动来翻转sprite。我目前修改SpriteSheetComponents转换的方法如下所示,似乎根本没有改变精灵:

代码语言:javascript
复制
  fn player_direction_system(
      velocity: &Velocity,
      _: &FaceMovementDirection,
      mut transform: Mut<Transform>,
  ) {
      let flip = velocity.horizontal.signum();
      transform.value = transform.value * Mat4::from_scale(Vec3::unit_y() * flip);
  }

是否有一个不同的组件的精灵,我应该修改以翻转它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-24 07:58:45

您完全可以直接处理转换,但我认为设置Rotation组件会更容易一些。

代码语言:javascript
复制
fn flip_sprite_system(direction: &FaceMovementDirection, mut transform: Mut<Transform>) {
    // I'm taking liberties with your FaceMovementDirection api :)
    if direction.is_left() {
        transform.rotation = Quat::from_rotation_y(std::f32::consts::PI);
    } else {
        transform.rotation = Quat::default();
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63552301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档