Писк, какой селектор устанавливает вращение TextMorph?

Я могу повернуть TextMorph в Morphic, но не могу найти способ его поворота. Я хочу использовать его при инициализации.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
88
1

Ответы 1

Попробуй это:

aTextMorph addFlexShell rotationDegrees: 45.0

#addFlexShell оборачивает TextMorph в TransformationMorph, который можно использовать для применения преобразований. Когда вы применяете вращение через ореол морфа, он также добавляет TransformationMorph. Вы можете сохранить его в переменной, чтобы получить к нему доступ позже:

flexShell := aTextMorph addFlexShell.
flexShell rotationDegrees: 45.0.
"..."

Если вы пишете это в методе и вам нужна гибкая оболочка (для целей преобразования) после завершения метода, добавьте переменную экземпляра в свой класс и сохраните в ней гибкую оболочку:

Object subclassNamed: #MyClass
    instanceVariableNames: 'transformationOfMyMorph myMorph'
    classVariableNames: ''
    poolDictionaries: ''
    category: 'MyPackage'

myMethod
    myMorph := TextMorph new contents: 'rotated text'.
    transformationOfMyMorph := myMorph addFlexShell.

rotateFurther
    transformationOfMyMorph rotationDegrees: transformationOfMyMorph rotationDegrees + 5.0.

Если вам нужна только гибкая оболочка в одном методе, используйте временную (локальную) переменную:

myMethod
    | flexShell |
    myMorph := TextMorph new. "..."
    flexShell := myMorph addFlexShell.
    "..."

хорошо, я подумал, было ли это что-то в этом роде. Я до сих пор не понимаю, как сохранить созданный морфик в переменной. Могу ли я использовать глобальную переменную, которая навсегда останется в моем изображении? или есть способ создать подкласс, обратившись к переменной? Не могли бы вы указать мне на объяснение процесса? Я так много прочитал, но это еще не понятно?

Gregg Arthur Evans 19.04.2018 01:05

Есть несколько вариантов: временные (локальные) переменные, переменные экземпляра, переменные класса. В зависимости от того, что вы хотите сделать и как долго вам нужно обращаться к морфу, одно предпочтительнее другого. Объяснять их все - слишком сложно для комментария. Вы смотрели книгу «Писк на примере»? Он доступен для загрузки.

JayK 19.04.2018 09:40

Я добавил в ответ примеры использования переменных экземпляра и временных переменных.

JayK 19.04.2018 10:07

Спасибо за ваше время. Теперь я определенно могу вращать вещи и чувствую, что близок к пониманию сохранения морфа в переменной экземпляра класса.

Gregg Arthur Evans 19.04.2018 18:04

Пожалуйста. Пожалуйста, обратите внимание на дальнейшие вопросы или общение с Smalltalkers, что «переменная экземпляра» и «переменная экземпляра класса» - это две разные вещи (и «переменная класса (пула)» - это третья вещь). В своем ответе я показываю «переменную экземпляра».

JayK 20.04.2018 08:35

Другие вопросы по теме