我不明白BEVY的旋转是怎么运作的.我只想旋转一个精灵来跟随我的光标位置.
有没有人能给我一段让它工作的代码?
我试过了,但没用: Bevy rotation in 2d个
use bevy::math::{Quat, Vec2};
let pos = transform.translation.truncate(); // player position
let target = event.position; // cursor position
let angle = (target - pos).angle_between(pos); // NaN
transform.rotation = Quat::from_rotation_z(angle);
在上面做一个Angular =NaN,所以它不工作.
let pos = transform.translation.truncate(); // player position
let target = cursor_position; // cursor position
let direction = target - pos;
let angle = direction.y.atan2(direction.x); // Calculate angle between direction and x-axis
transform.rotation = Quat::from_rotation_z(angle);
结果如下:
这是回购,如果你想试试的话:https://github.com/theocerutti/SpaceGameRust
谢谢!