2013-04-02 7 views
5

मेरे पास दो morphs हैं जो एक दूसरे में हैं।submorph स्थिति को बदलने के लिए कैसे करें

a:= Morph new. 
b:= Morph new. 
a addMorph: b. 
a openInWorld. 

लेकिन जब मैं ख स्थिति करके ख की स्थिति बदलना चाहते हैं: 100 @ 100, यह कभी नहीं बदलाव को दर्शाता है, तो क्या मैं यहाँ याद आ रही है? या किसी भी तरह बी की स्थिति का ट्रैक रखने की जिम्मेदारी है?

+0

है 'Morph' भी इसका इस्तेमाल करने के लिए पर्याप्त पूरा पर, आप एक' RectangleMorph' या कुछ का उपयोग करने की जरूरत नहीं 'मॉर्फ' के अन्य ठोस उपclass? –

+2

@ शेकडाउन हां, मॉर्फ सीधे उपयोग करने के लिए पर्याप्त है। –

उत्तर

6

यह काम करना चाहिए:

| morph1 morph2 | 

morph1 := Morph new. 
morph1 color: Color red. 
morph1 extent: [email protected] 

morph2 := Morph new. 
morph2 color: Color green. 
morph2 extent: [email protected] 

morph1 addMorph: morph2. 
morph2 position: [email protected] 
morph1 openInWorld. 

परिणाम:

enter image description here

ध्यान दें कि पदों पूर्ण कर रहे हैं, यदि आप सापेक्ष स्थिति चाहते हैं आप की तरह कुछ करने के लिए:

morph2 position: (morph1 position + ([email protected])) 

यदि आप खिड़की में मॉर्फ जोड़ते हैं, तो आप ई सिस्टमविंडो #addMorph पर एक नज़र: फुलफ्रेम: जो पनडुब्बियों को स्थिति में बेहतर संभावनाएं प्रदान करता है। मॉर्फ भी #addMorph लागू करता है: fullframe: लेकिन किसी भी तरह यह फारो 2.0 में मेरे लिए काम नहीं कर रहा है।

पर एक नज़र डालें: Pharo collaborActive book और उदाहरण द्वारा Pharo की बुनियादी विजेट अध्याय 2.

संबंधित मुद्दे