2016-07-30 41 views
2

Wie kann ich die Bezeichnung an bestimmten Koordinaten in Netlogo setzen. Ich habe folgende Methoden versuchtLabel an bestimmten Koordinaten in Netlogo setzen

ask people 
    [setxy -16 15 ;Defining Positions 
    set label (word (WORD "This is: John ")) 
    set label-color white] 

; Menschen ist meine Schildkröte

Aber Setxy bewegt sowohl meine Schildkröte und Label auf (-16,15). Ich möchte das Label nur auf diese Koordinaten verschieben. Die Schildkröte sollte bleiben, wo sie war. Jede Hilfe wird geschätzt, da ich neu bei Netlogo bin und versuche, diese Sprache so viel wie ich kann zu lernen. Vielen Dank

+1

Sie müssen nicht 'word' verwenden, hier (besonders nicht zweimal!) ' word' wird nur benötigt, wenn Sie etwas anderes in eine Zeichenkette konvertieren wollen oder wenn Sie mehrere Zeichenketten haben, die Sie verketten möchten . –

+0

Vielen Dank Herr. Ja, ich hatte Wort benutzt und nach dem Satz "Das ist: John" benutzte ich eine Variable, ich entfernte die Variable aus Frage, um es so einfach wie möglich zu machen, vergaß aber "Wort" (Mein Fehler) zu entfernen. Aber nochmal danke, dass du es zeigst :) –

Antwort

2

Die label ist an die Schildkröte angeschlossen. Es bewegt sich immer damit. Wenn Sie ein Etikett an einer festen Position haben möchten, können Sie jedoch ein Patch-Etikett verwenden: plabel. Zum Beispiel:

ask patch -16 15 [ 
    set plabel "This is: John" 
    set plabel-color white 
] 

Eine andere Möglichkeit, ein bisschen mehr Flexibilität zu erhalten, ist eine Dummy-Generation von Schildkröten zu erstellen und sie für Etiketten ausschließlich verwenden:

breed [ signs sign ] 

to setup 
    clear-all 
    create-signs 1 [ 
    setxy -9.5 13.5 
    set size 0 ; hide the turtle, but not the label 
    set label "This is: John" 
    set label-color white 
    ] 
end 

Auf diese Weise können Sie genauere verwenden koordiniert und verschiebt die Beschriftungen bei Bedarf.

+0

Danke, mein Herr. Es wird perfekt funktionieren. Du bist ein Segen :) –