gegeben zwei Integer-Variablen 'a' und 'b' in einer Rechteck-Klasse, wie zeichnest du ein Rechteck? Ich bin neu zu Smalltalk und ich studiere es für einen Kurs. danke!Zeichnen eines Rechtecks in Smalltalk Squeak
Antwort
Squeak verwendet Morphic als Standardbenutzeroberfläche. So wäre die einfachste Sache zu schaffen, eine Morph:
RectangleMorph new
extent: [email protected];
openInWorld
alle drei Zeilen auf einmal auswerten. Dadurch wird eine neue RectangleMorph
Instanz setzt seine Ausdehnung auf eine erstellte Point
von 300
und 200
(durch die Nachricht @
-300
mit dem Argumente 200
Senden) und sendet sie auch die openInWorld
Nachricht, so dass es in der Welt erscheint. Es wird in der oberen linken Bildschirmecke geöffnet. Wir hätten die position:
Nachricht mit einem anderen Point
Argument senden können, aber Sie können es einfach mit Ihrem Mauszeiger greifen und es überall hin verschieben, Sie bitte.
In Ihrer Klasse können Sie [email protected]
verwenden, um den Ausdehnungspunkt zu erstellen (unter der Annahme a
und b
sind die Breite und Höhe des Rechtecks in Pixeln).
Morphic ist nett, weil es reale Objekte erstellt, die Sie interaktiv bearbeiten können, z. Mit dem Befehl cmd-click wird ein Halo angezeigt. Wenn Sie das nicht möchten, können Sie auch direkt auf dem Bildschirm malen. Z.B .:
Display fill: ([email protected] extent: [email protected]) fillColor: Color red.
... wo Display
eine globale Formular Instanz (enthaltend einen Bitmap) was dich auf den gesamten Squeak-Display ist. Aber da dieser Ausdruck nur Pixel auf den Bildschirm legt, werden sie schnell überschrieben. Morphs, im Gegensatz dazu wissen, wie man sich neu zu zeichnen, wann immer es nötig ist.
Es ist auch möglich, Ihre eigene Morph Unterklasse zu erstellen und eine benutzerdefinierte drawOn:
Methode zu implementieren. Aber das wäre ein Overkill für etwas so einfaches wie das Zeigen eines Rechtecks.
- 1. Schlaf in Smalltalk Squeak
- 2. Zeichnen eines gedrehten Rechtecks
- 3. Zeichnen eines Rechtecks in UIView
- 4. Swift 3: Zeichnen eines Rechtecks
- 5. Seltsames Verhalten in Squeak Smalltalk Arrays
- 6. Wie kompatibel ist GNU Smalltalk mit Squeak
- 7. Schlaf blockiert ganzes Programm (Smalltalk Squeak)
- 8. Zeichnen eines Rechtecks auf einer AVCaptureVideoPreviewLayer, möglich?
- 9. Zeichnen eines schwarzen Rechtecks in einem Bild in MATLAB
- 10. Leistung Overhead von perform: in Smalltalk (speziell Squeak)
- 11. Sortierung ein Array mit einem Block in Squeak/Smalltalk
- 12. Entfernen von Methoden in Squeak Smalltalk rückgängig machen
- 13. So drucken Sie Smalltalk-Code von Pharo/Squeak?
- 14. Zeichnen eines gefüllten Rechtecks mit einem Rand in Android
- 15. Gibt es große kommerzielle Projekte, die Squeak Smalltalk verwenden?
- 16. Inkonsistenzen in Smalltalk
- 17. Dynamische Schriftgröße zum Zeichnen von Zeichenfolgen innerhalb eines Rechtecks
- 18. Zeichnen eines Rechtecks mit gestrichelten Linien mit Rafael.js
- 19. C# Winforms. Text genau zentrisch innerhalb eines Rechtecks zeichnen
- 20. Anfänger iphone Frage: Zeichnen eines Rechtecks. Was mache ich falsch?
- 21. Abfangen Nachrichten in Squeak
- 22. Zentrieren eines Rechtecks in JFrame
- 23. Unterstützt Squeak Namespaces?
- 24. Tweening eines gerundeten Rechtecks in Actionscript 3
- 25. Hinzufügen eines Bildes in die Mitte eines gezeichneten Rechtecks [iPhone]
- 26. Wie kann ich leicht in native Schriftarten in Smalltalk Squeak/Pharo ändern
- 27. Datendarstellung der Partition eines Rechtecks?
- 28. Sierpinski Teppich - Fläche eines Rechtecks
- 29. Referenzieren eines Morphs in Squeak (Mophic), erzeugt durch direkte Manipulation über 'code'
- 30. Hinzufügen eines Rechtecks zu ListBox
Wir müssen Ihren Smalltalk-Dialekt kennen, denn das Zeichnen ist für jede – Tobias
unterschiedlich. Ich bin mir nicht sicher, was Sie unter Dialekt verstehen - ich benutze Quietschen Smalltalk – Infested
Ah ja, ich verstehe, tut mir leid. – Tobias