SqueakByExample:11.3

From 흡혈양파의 번역工房
Revision as of 12:28, 17 August 2012 by Onionmixer (talk | contribs) (SBE morphs구성하기 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

morphs 구성하기

새로운 그래픽 표현을 만드는 한 가지 방법은 하나의 morph를 다른 morph안으로 이동시키는 것입니다. 이것은 구성(composition)으로 지칭되며 morphs는 모든 깊이(depth)로 구성될 수 있습니다. 여러분은 메시지 addMorph:를 container morph에 발송하여 morph를 다른 morph 내부로 이동할 수 있습니다.


Squeak comment.pngMorph를 다른 morph에 추가하는 작업을 시도해 보십시오.

star := StarMorph new color: Color yellow.
joe addMorph: star.
star position: joe position.


마지막 라인은 별을 joe와 동일한 좌표에 이동시킵니다. 포함된 morph(the contained morph)의 좌표는 여전히 화면과 관련이 있으며, 포함시키는 morph(the containing morph)와는 관련이 없습니다. Morph를 위치선정 하는 많은 메소드들이 있으며, 여러분 자신의 것을 보기 위해 클래스 Morph의 지오메트리 포로토콜(geometry protocol)을 검색하십시오. 예컨데, joe 내부 별을 중앙에 위치시키기 위해 star center: joe center를 실행합니다.


그림 11.2 : 별이 투명한 파랑 morph인 joe에 포함되었습니다.


만약 여러분이 마우스로 별을 쥐었다면, 실제로 joe를 쥐게 된 것임을 발견하게 되실 것이며, 두 개의 morph는 함께 이동합니다: 별은 joe 내부에 삽입됩니다. joe내부에 더 많은 morph를 삽입하는 것이 가능합니다. 게다가, 이 작업을 프로그램적으로 수행하기 위해, 직접 조작(direct manipulation)을 하여 morph를 삽입할 수 있습니다.


Squeak comment.png월드 메뉴에서 “object”를 선택하고 “Graphics” 라벨이 붙은 버튼을 클릭합니다. Supplies flap으로부터 타원(ellipse)과 별을 드래그 합니다. 타원 위에 별을 이동시킨 후, 메뉴를[1] 불러내기 위해 별을 노랑 클릭합니다. embed into ▷Ellipse. 를 선택합니다. 이제 별과 타원이 함께 움직입니다.

서브모프(sub-morph)를 이동시키기 위해, joe removeMorph: star 또는 star delete를 시행합니다. 이 작업은 직접 조작에 의해서 실행될 수 있습니다.


Squeak comment.png별을 두 번 파랑 클릭합니다. Grab handle(쥐기 헨들) Black handle button.png 을 사용하여 타원으로부터 별을 드레그합니다.


첫 번째 클릭은 타원에서 morphic halo를 불러옵니다. 두 번째 클릭은 별 위에 halo를 불러옵니다. 각 클릭은 포커스(focus)를 삽입(embedding)의 정도를 한 단계 하향시킵니다.

Notes

  1. 여러분은 또한 morphic halo를 불러내기 위해 별을 파랑 클릭하고 red menu handle을 클릭할 수 있습니다.