SqueakByExample:11.3: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SBE morphs구성하기 페이지 추가)
 
(번역수정)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==morphs 구성하기==
==morph 의 합성(Composing Morphs)==


새로운 그래픽 표현을 만드는 한 가지 방법은 하나의 morph를 다른 morph안으로 이동시키는 것입니다. 이것은 구성(composition)으로 지칭되며 morphs는 모든 깊이(depth)로 구성될 수 있습니다. 여러분은 메시지 addMorph:를 container morph에 발송하여 morph를 다른 morph 내부로 이동할 수 있습니다.
새로운 그래픽 표현을 만드는 한 가지 방법은 하나의 morph 를 다른 morph 안으로 이동하는 것입니다. 이것을 ''합성<sup>composition</sup>'' 이라고 하며 morph 는 어떤 depth 라도 이동이 가능합니다. 사용자는 메시지 addMorph: 를 container morph 에 전송하여 morph 를 다른 morph 안쪽으로 이동시킬 수 있습니다.




{{CommentSqueak|Morph를 다른 morph에 추가하는 작업을 시도해 보십시오.}}
{{CommentSqueak|Morph 를 다른 morph 에 추가하는 작업을 시도해 보십시오.}}
 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
star := StarMorph new color: Color yellow.
star := StarMorph new color: Color yellow.
Line 12: Line 13:




마지막 라인은 별을 joe와 동일한 좌표에 이동시킵니다. 포함된 morph(the contained morph)의 좌표는 여전히 화면과 관련이 있으며, 포함시키는 morph(the containing morph)와는 관련이 없습니다. Morph를 위치선정 하는 많은 메소드들이 있으며, 여러분 자신의 것을 보기 위해 클래스 Morph의 지오메트리 포로토콜(geometry protocol)을 검색하십시오. 예컨데, joe 내부 별을 중앙에 위치시키기 위해 star center: joe center를 실행합니다.  
위 예제에서 마지막줄은 별을 joe 와 동일한 좌표로 이동시킵니다. 안쪽으로 포함된 morph 의 좌표는, 그릇이 되는 morph 가 기준이 되는것이 아니라 여전히 화면과 관련이 있다는걸 주의해 주시기 바랍니다. morph 의 위치를 설정하기 위한 많은 메서드가 있으며, Morph 클래스의 geometry 를 탐색<sup>browse</sup> 하면 원하는 morph 의 좌표를 얻을 수 있습니다. 예를들어, joe 내부의 별을 joe 의 중앙에 위치시키기 위해서 star center: joe center 를 실행해 보도록 합니다.
 
[[image:joeStar.png|none|106px|thumb|그림 11.2 : 투명한 파랑 모프인 joe 에 별을 포함하고 있습니다. ]]
 


만약 마우스를 이용해서 별을 잡으려고 한다면, 실제로 joe 를 잡은것을 확인할 수 있으며, 두개의 morph 는 함께 움직이게 됩니다: 별은 joe 내부에 들어가있게 됩니다. joe 내부에 더 많은 morph 를 포함시키는것도 가능하죠. 게다가 이런 작업을 프로그램적으로 진행하기 위해서, 직접적인 조작
만약 여러분이 마우스로 별을 쥐었다면, 실제로 joe를 쥐게 된 것임을 발견하게 되실 것이며, 두 개의 모프는 함께 이동합니다: 별은 joe 내부에 삽입됩니다. joe내부에 더 많은 모프를 삽입하는 것이 가능합니다. 게다가, 이런 경우는 프로그램으로 조작하는것 외에도, 직접 조작으로 morph 의 삽입이 가능합니다. 


[[image:joeStar.png|none|106px|thumb|그림 11.2 : 별이 투명한 파랑 morph인 joe에 포함되었습니다. ]]


{{CommentSqueak|world 메뉴에서 "object" 를 선택하고 "Graphics" 라벨이 붙은 버튼을 클릭하세요. {{Template:HighlightGray|Supplies}} 플랩으로부터 타원과 별을 드래그해주세요. 타원 위에 별을 이동시킨 후, 메뉴를<ref name="주석11-2">여러분은 또한 모픽 할로를 불러내기 위해 별을 파랑 클릭하고 빨강 메뉴 손잡이를 클릭할 수 있습니다.</ref> 불러내기 위해 별을 노랑 클릭합니다. {{Template:HighlightGray|embed into▷Ellipse.}} 를 선택하십시오. 이제 별과 타원이 함께 움직이게 됩니다.}}


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


서브모프<sup>sub-morph</sup>를 이동시키기 위해, joe removeMorph: star 또는 star delete 를 실행합니다. 이 작업은 직접조작으로도 가능합니다.


{{CommentSqueak|월드 메뉴에서 “object”를 선택하고 “Graphics” 라벨이 붙은 버튼을 클릭합니다. {{Template:HighlightGray|Supplies}} flap으로부터 타원(ellipse)과 별을 드래그 합니다. 타원 위에 별을 이동시킨 후, 메뉴를<ref name="주석11-2">여러분은 또한 morphic halo를 불러내기 위해 별을 파랑 클릭하고 red menu handle을 클릭할 수 있습니다.</ref> 불러내기 위해 별을 노랑 클릭합니다. {{Template:HighlightGray|embed into ▷Ellipse.}} 를 선택합니다. 이제 별과 타원이 함께 움직입니다.}}


서브모프(sub-morph)를 이동시키기 위해, joe removeMorph: star 또는 star delete를 시행합니다. 이 작업은 직접 조작에 의해서 실행될 수 있습니다.
{{CommentSqueak|별을 두 번 파랑 클릭하십시오. Grab 손잡이 [[image:black_handle_button.png]] 를 사용하여 타원으로부터 별을 드래그 해내주세요.}}




{{CommentSqueak|별을 번 파랑 클릭합니다. Grab handle(쥐기 헨들) [[image:black_handle_button.png]] 을 사용하여 타원으로부터 별을 드레그합니다.}}
첫 번째 클릭은 타원의 Morphic 할로를 불러옵니다. 번째 클릭은 별의 Morphic 할로를 불러옵니다. 한번 클릭할때마다 Morphic 할로를 불러올 대상이 한단계씩 내려갑니다.




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


==Notes==
==Notes==

Latest revision as of 15:24, 14 September 2013

morph 의 합성(Composing Morphs)

새로운 그래픽 표현을 만드는 한 가지 방법은 하나의 morph 를 다른 morph 안으로 이동하는 것입니다. 이것을 합성composition 이라고 하며 morph 는 어떤 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 의 좌표는, 그릇이 되는 morph 가 기준이 되는것이 아니라 여전히 화면과 관련이 있다는걸 주의해 주시기 바랍니다. morph 의 위치를 설정하기 위한 많은 메서드가 있으며, Morph 클래스의 geometry 를 탐색browse 하면 원하는 morph 의 좌표를 얻을 수 있습니다. 예를들어, joe 내부의 별을 joe 의 중앙에 위치시키기 위해서 star center: joe center 를 실행해 보도록 합니다.

그림 11.2 : 투명한 파랑 모프인 joe 에 별을 포함하고 있습니다.


만약 마우스를 이용해서 별을 잡으려고 한다면, 실제로 joe 를 잡은것을 확인할 수 있으며, 두개의 morph 는 함께 움직이게 됩니다: 별은 joe 내부에 들어가있게 됩니다. joe 내부에 더 많은 morph 를 포함시키는것도 가능하죠. 게다가 이런 작업을 프로그램적으로 진행하기 위해서, 직접적인 조작 만약 여러분이 마우스로 별을 쥐었다면, 실제로 joe를 쥐게 된 것임을 발견하게 되실 것이며, 두 개의 모프는 함께 이동합니다: 별은 joe 내부에 삽입됩니다. joe내부에 더 많은 모프를 삽입하는 것이 가능합니다. 게다가, 이런 경우는 프로그램으로 조작하는것 외에도, 직접 조작으로 morph 의 삽입이 가능합니다.


Squeak comment.pngworld 메뉴에서 "object" 를 선택하고 "Graphics" 라벨이 붙은 버튼을 클릭하세요. Supplies 플랩으로부터 타원과 별을 드래그해주세요. 타원 위에 별을 이동시킨 후, 메뉴를[1] 불러내기 위해 별을 노랑 클릭합니다. embed into▷Ellipse. 를 선택하십시오. 이제 별과 타원이 함께 움직이게 됩니다.


서브모프sub-morph를 이동시키기 위해, joe removeMorph: star 또는 star delete 를 실행합니다. 이 작업은 직접조작으로도 가능합니다.


Squeak comment.png별을 두 번 파랑 클릭하십시오. Grab 손잡이 Black handle button.png 를 사용하여 타원으로부터 별을 드래그 해내주세요.


첫 번째 클릭은 타원의 Morphic 할로를 불러옵니다. 두 번째 클릭은 별의 Morphic 할로를 불러옵니다. 한번 클릭할때마다 Morphic 할로를 불러올 대상이 한단계씩 내려갑니다.


Notes

  1. 여러분은 또한 모픽 할로를 불러내기 위해 별을 파랑 클릭하고 빨강 메뉴 손잡이를 클릭할 수 있습니다.