我正在使用
rust-sdl2
中的 sdl2 绑定在 Rust 中编写个人游戏框架。我想编写一个 fill_text
函数,我使用构建器模式来创建参数,例如文本、位置和旋转。如果没有缩放、旋转、翻转等...没有指定参数,我可以使用普通的copy_f
功能,但如果没有,我必须使用copy_ex_f
。
现在,我想问,这样做有意义吗?:
if angle != 0.0 || center.is_some() || scale != 1.0 || flip_horizontal || flip_vertical {
self.canvas
.copy_ex_f(
&texture,
None,
sdl2::rect::FRect::new(x, y, query.width as f32, query.height as f32),
angle as f64,
center.map(|(x, y)| sdl2::rect::FPoint::new(x, y)),
flip_horizontal,
flip_vertical,
)
.unwrap();
} else {
self.canvas
.copy_f(
&texture,
None,
sdl2::rect::FRect::new(x, y, query.width as f32, query.height as f32),
)
.unwrap();
}
copy_f
函数执行起来更轻松吗?