编辑:写w时。会弹出一个列表,列出可用于simplewindow的方法。其中之一是
setLineColor(Color arg0):void-SimpleWindow
现在,如果我在弹出窗口中加倍单击此行,则会得到代码w.setLineColor(arg0);
的打印。我没有线索。
您好,我有这个学校的作业,要让两只乌龟在一个盒子里走来走去,直到它们彼此相距50px或更近,我做到了。但是,只是为了好玩,我想给它们上色。我在Google上进行了搜索,并找到了一个我想导入的颜色分类。我不确定类或几乎所有东西的工作原理,所以我不知道我在做什么。
我导入的班级是import java.awt.*;
这是我的乌龟程序在运行http://i.imgur.com/pcKnsCC.png时的样子,下面是代码(您将无法运行它,因为我有学校上的课,您认为我没有)请注意,香港专业教育学院随机放置颜色代码,我尝试给颜色涂色..
package ovn4;
import java.util.Random;
import java.awt.*;
import se.lth.cs.window.SimpleWindow;
import se.lth.cs.p.ovn.turtle.Turtle;
public class g455 {
public void getRed() {
}
public static void main(String[] args) {
SimpleWindow w = new SimpleWindow(500,500,"squratle window");
Turtle t1 = new Turtle(w,222,222);
Turtle t2 = new Turtle(w,100,400);
Color c= new Color(100);
c.getRed();
int y1 = 5;
int x1=5;
int y2=5;
int x2=5;
int z = 100;
while(z>49) {
SimpleWindow.delay(1);
Random rand = new Random();
int steps = rand.nextInt(10)+1;
int vinkel = rand.nextInt(359)-179;
t1.penDown();
t1.forward(steps);
t1.right(vinkel);
x1=t1.getX();
y1=t1.getY();
rand = new Random();
steps = rand.nextInt(10)+1;
vinkel=rand.nextInt(359)-179;
t2.penDown();
t2.forward(steps);
t2.right(vinkel);
y2=t2.getY();
x2=t2.getX();
z= (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
z= (int) Math.sqrt(z);
}
System.out.println("avståndet mellan dom är "+z+" pixlar.");
}
}
因此,其中一只乌龟被称为t1。现在,我想给他的脚步涂上颜色,以便说红色而不是默认的黑色,有人可以帮我吗?
最佳答案
在不了解库的情况下,它只是在黑暗中拍摄了一些镜头,但是旧的乌龟图形API曾使用命令setPenColor(color)
来执行它,因此尝试执行t1.setPenColor(c);
值得一试
祝您学习愉快,万事如意。
编辑:您新发现的setLineColor()方法采用一种颜色,如方法签名所示。只需以一种颜色传递它-我建议您摆脱您的'getRed()'方法,它对您没有任何帮助。尝试这个:
Color red = new Color(100);
w.setLineColor(red);
这里发生的是,您正在定义一种新颜色,并将其称为“红色”,然后将value(100)传递到颜色构造函数中。该颜色构造函数了解100是红色颜色家族中的某个位置。然后,您要告诉窗口将其线条颜色设置为该颜色。