funfunfun28
ストリングモーフなのら
テキストのモーフはどう作るかってのに挑戦だす。
「StringMorph」ってのと「TextMorph」ってのがあるけどなにがどうちがうっすかねえ?
「部品フラップ」の「時計」とかが「StringMorph」ってやつだすね。
「テキスト」は「TextMorph」ってやつね。
ブラウザで見てみると「StringMorph」は
「Morph」のサブクラスってことだから枠とかなくてテキストオンリーってこと?。
「TextMorph」は「RectangleMorph」のサブクラスってことは
「RectangleMoprh」を継承してるもんで枠とか使えるって事かにゃ?。
ってなことではじめは「StringMorph」からね。
■クラスを作る
「StringMorph」を親にしてクラスを作ってみるです。
--------------------------------------------
StringMorph subclass: #TestMorph20
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■インスタンスをだしてみる
--------------------------------------------
TestMorph20 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
この「StringMorph」はShift+クリックで編集モードになるです。
フォントやサイズの変更はメニューハロの「フォントを変更」で設定できるです。
■メソッドを追加
フォントとサイズ、文字色、最初に表示しておくテキストを設定するのはど〜やるかつうと・・・・。
こんなかんじかにゃ。
--------------------------------------------
initialize
super initialize.
self fontName: #ComicSansMS size: 36.
self color: Color red.
self contents: 'Hello Squeak !'.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
インスタンスをだして確認してみると、おお!かわっちょルね。
とりあえず成功。
■日付モーフを作るのだ。
「StringMorph」を使って「時計」モーフみたく「日付」モーフってのを作ってみるべさ。
「StringMorph」を親にしてクラスを定義するっす。
--------------------------------------------
StringMorph subclass: #TestMorph21
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■初期設定
「時計」モーフに合わせて、フォントはデフォルトのままにしょよっと。
初めに表示するテキストは今日の日付を直接表示なのでする。
--------------------------------------------
initialize
super initialize.
self contents: Date today asString.
"self step."
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
ステップごとにいちいち表示させなくても・・・とは思ったんだけど
ちらつくわけじゃないしこの方が簡単だからいっか!!
(本当は日付が変わったときに表示させたほうがいいんだよね?<って誰に聞いてる・・・)
--------------------------------------------
step
self contents: Date today asString.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
--------------------------------------------
stepTime
^ 1000
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■インスタンスをだす。
--------------------------------------------
TestMorph21 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
まあ24時がくるまでまたないとチェックできないんですけど。
2〜3日ほっといたら問題ないみたいだから良いか!<おいおい!!
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Links to this Page
- FunFunFunMorphic last edited on 25 March 2004 at 5:25:44 am by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- funfunfun27 last edited on 18 June 2007 at 5:47:41 am by localhost.localdomain
- funfunfun29 last edited on 18 June 2007 at 5:31:11 am by localhost.localdomain