趣味编程:激光指针与文件导航器开发
激光指针项目
激光指针项目通过代码实现了较为随机的移动效果。以下是相关代码:
if (*x - x2).abs() < 20.0 && (*y - y2).abs() < 20.0 {
self.random_movement(50.0);
}
painter.circle_filled(Pos2::from(*self), 20.0, Color32::RED);
});
}
fn main() {
let native_options = eframe::NativeOptions::default();
let _ = eframe::run_native(
"Awesome laser pointer",
native_options,
Box::new(|cc| Box::new(LaserPointer::new(cc))),
);
}
在上述代码的作用下,激光指针会做出各种不规则的移动,有时静止,有时缓慢移动,有时会突然在屏幕上跳跃。你可以用它来逗逗你的猫咪或其他宠物,看看它们是否喜欢。
该项目还有许多进一步开发的方向,具体如下:
1. 绘制随机目标 :激光指针使用了一个不可见的随机目标来移动,我们可以将其绘制出来,这样不仅有趣,还能帮助测试和优化激光指针的移动。
2. 添加移动类型设置 :不同的猫对不同类型的激光指针反应不同。有些猫喜