编辑:写 w.一个列表弹出了 simplewindow 可用的方法。其中之一是
setLineColor(Color arg0): void - SimpleWindow
现在,如果我在弹出窗口中双击这一行,我会得到代码 w.setLineColor(arg0);
打印.. 我在哪里从这里去?我不知道。
你好,我的学校作业是让 2 只乌龟在一个盒子里走来走去,直到它们彼此之间的距离达到 50 像素或更近,我做到了。但是,为了好玩,如果可能的话,我想给它们上色。我用谷歌搜索它并找到了一个我认为我设法导入的颜色类。我不确定类或几乎任何东西是如何工作的,所以我不知道我到底在做什么。
我导入的类是import java.awt.*;
这是我的海龟程序运行时的样子 http://i.imgur.com/pcKnsCC.png下面是代码(你无法运行它,因为我有学校的类(class),我认为你没有)请注意,我随机放置了颜色代码,我试着给 smth 上色..
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。现在我想给他的足迹上色,比如用红色代替默认的黑色,有人可以帮我吗?
最佳答案
在不了解该库的情况下,这只是一些盲目尝试,但旧的 turtle 图形 API 过去常常为此使用命令 setPenColor(color)
,因此值得一试执行 t1.setPenColor(c);
干杯,祝你学习顺利。
编辑:您新发现的 setLineColor() 方法采用颜色,如方法签名中所示。只需以一种颜色传递它 - 我建议摆脱您的“getRed()”方法,它不会为您做任何事情。试试这个:
Color red = new Color(100);
w.setLineColor(red);
此处发生的事情是您定义了一种新颜色,并将其命名为“红色”,并将值 (100) 传递给颜色构造函数。那个颜色构造器知道 100 是红色系列中的某个地方。然后,您告诉窗口将其线条颜色设置为该颜色。
关于java - 我可以给我的乌龟上色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188295/