我想提出一个程序,自动播放了一个名为发笑的游戏。目前,我都设置组件的,但是,我有确定的颜色块结束,你打它在该地区。
我试着使用在一个线程中也有类似的问题提供的距离公式,但我一直得到错误的结果。
boolean similarTo(Color c,Color v){
double distance = Math.sqrt((c.getRed() - v.getRed())*(c.getRed() - v.getRed()) + (c.getGreen() - v.getGreen())*(c.getGreen() - v.getGreen()) + (c.getBlue() - v.getBlue())*(c.getBlue() - v.getBlue()));
// double average1 = c.getRed()+c.getBlue()+c.getGreen();
// double average2 = v.getRed()+v.getBlue()+v.getGreen();
if(distance < 100 ){
return true;
}else{
return false;
}
}
使用这个应该按下时,像素越相似,但结果总是不同,比如它说,他们都一样的时候,从不更新。
你的问题可能是因为使用了错误的Color
类。你可以找到2 Color
班在JDK:
java.awt.Color
:暴露getRed,getGreen,GetBlue进行方法返回int
之间的值0-255。javafx.scene.paint.Color
:暴露getRed,getGreen,GetBlue进行方法返回double
之间的值0-1。如果你正在使用javafx.scene.paint.Color
你的距离决不会大于1.73。你需要使用java.awt.Color
有0之间的距离- 441.67
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句