View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

funfunfun28

PREV ------ ● TOP ● ------ NEXTUploaded Image: fmrph.jpg


ストリングモーフなのら

テキストのモーフはどう作るかってのに挑戦だす。
「StringMorph」ってのと「TextMorph」ってのがあるけどなにがどうちがうっすかねえ?
「部品フラップ」の「時計」とかが「StringMorph」ってやつだすね。
「テキスト」は「TextMorph」ってやつね。
ブラウザで見てみると「StringMorph」は
「Morph」のサブクラスってことだから枠とかなくてテキストオンリーってこと?。
「TextMorph」は「RectangleMorph」のサブクラスってことは
「RectangleMoprh」を継承してるもんで枠とか使えるって事かにゃ?。
ってなことではじめは「StringMorph」からね。

■クラスを作る

「StringMorph」を親にしてクラスを作ってみるです。
--------------------------------------------
StringMorph subclass: #TestMorph20
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image.jpg


■インスタンスをだしてみる

--------------------------------------------
TestMorph20 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )

Uploaded Image: image1.jpg


この「StringMorph」はShift+クリックで編集モードになるです。
フォントやサイズの変更はメニューハロの「フォントを変更」で設定できるです。

Uploaded Image: image2.jpg



■メソッドを追加

フォントとサイズ、文字色、最初に表示しておくテキストを設定するのはど〜やるかつうと・・・・。
こんなかんじかにゃ。
--------------------------------------------
initialize
	super initialize.
	self fontName: #ComicSansMS size: 36.
	self color: Color red.
	self contents: 'Hello Squeak !'.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image3.jpg


インスタンスをだして確認してみると、おお!かわっちょルね。
とりあえず成功。

Uploaded Image: image4.jpg



■日付モーフを作るのだ。

「StringMorph」を使って「時計」モーフみたく「日付」モーフってのを作ってみるべさ。
「StringMorph」を親にしてクラスを定義するっす。

--------------------------------------------
StringMorph subclass: #TestMorph21
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image5.jpg

■初期設定

「時計」モーフに合わせて、フォントはデフォルトのままにしょよっと。
初めに表示するテキストは今日の日付を直接表示なのでする。
--------------------------------------------
initialize
	super initialize.
	self contents: Date today asString.
	"self step."
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image6.jpg

ステップごとにいちいち表示させなくても・・・とは思ったんだけど
ちらつくわけじゃないしこの方が簡単だからいっか!!
(本当は日付が変わったときに表示させたほうがいいんだよね?<って誰に聞いてる・・・)
--------------------------------------------
step
	self contents: Date today asString.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image7.jpg


--------------------------------------------
stepTime
	^ 1000	
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image8.jpg


■インスタンスをだす。

--------------------------------------------
TestMorph21 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )

Uploaded Image: image9.jpg


まあ24時がくるまでまたないとチェックできないんですけど。
2〜3日ほっといたら問題ないみたいだから良いか!<おいおい!!

Uploaded Image: image10.jpg




PREV ------ ● TOP ● ------ NEXT







■ MEMO ■

Links to this Page