[英]I don't understand why my line is going at an angle
我在高中的AP課程中,我們正在使用程序JAVA或OOP,我什至不知道它是什么。 在課堂上我們沒有老師,所以我們基本上必須從小包中自我學習。 我正在學習如何畫臉,我很努力。
好了第一關,提示這里- http://mrlanda.com/ecs/unit%205/Happy%20Face.htm
看下面的圖片,看看它的樣子。
我的問題-好吧,這是我到目前為止所取得的成就,它使我感到非常壓力,我不知道為什么我的線保持傾斜。 當我也沒有告訴它時,為什么它會傾斜呢。我的鼻子也有問題,我似乎找不到我想要放置的位置,由於某種原因,它一直在傾斜。
到目前為止我的代碼
import apcslib.*;
public class DrawSquare
{
public static void main(String[] args)
{
DrawingTool marker;
SketchPad poster;
poster= new SketchPad(600,600);
marker= new DrawingTool(poster);
//left side of box
marker.up();
marker.move(0,0);
marker.down();
marker.turnRight(180);
marker.forward(200);
//mouth
marker.up();
marker.move(40,60);
marker.down();
marker.turnRight(90);
marker.forward(100);
//nose
marker.up();
marker.move(100,100);
marker.down();
marker.turnRight(90);
marker.forward(100);
}
}
根據DrawingTool的API文檔,方法move(double, double)
更改了繪圖工具的方向。
因此,如果你執行移動到(40,60)
從端點(-200,0)
你以前的forward
移動你的新的方向向量會(240,60)
將其旋轉90度時,您將朝(60,-240)
方向前進。
我已經繪制了一個顯示行為的草圖(不完全是按比例繪制的-我希望我沒有混合坐標)...
因此,您可以使用以下選項來解決此問題:
而是直接移動到(40,60)
,您可以在強制移動達到所需方向之前移動到臨時點:
// mouth marker.up(); marker.move(40,50); marker.move(40,60); // now you have direction "up" marker.down(); marker.forward(100);
或者您可以使用move
而不是`forward
// mouth marker.up(); marker.move(40,60); marker.down(); marker.move(40,160); // or whatever your expected target is...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.