OBY 4
ThirdDay (言葉ありき)
オビーに口をつける
オビーに口をつけてやりましょう。それに喋ることもちょこっと教えてやりたいっす。
っていっても勝手に喋るようになるわけじゃなくて、いちいち喋らせてやんなきゃですが。
■クラスを作る
● ObyLipsクラス
PolygonMorphを親にして「ObyLipse」定義します。
そうすればポイントを指定するだけでいろんな形を作れるからね!
--------------------------------------------
PolygonMorph subclass: #ObyLips
instanceVariableNames: ''
classVariableNames: ' '
poolDictionaries: ''
category: 'ObyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■メソッドを追加します。
● initializeメソッド
デフォルトの口の形は三角形ね。
色は 濃い赤
枠線は ナシ
--------------------------------------------
initialize
super initialize.
vertices _ {0@0. 20@0. 10@6}.
color _ Color black. "red darker."
borderColor _ Color black.
borderWidth _ 1.
closed _ true.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
● sayメソッド
オビーが喋れるようにしましょう。
--------------------------------------------
say: aString
self showBalloon: aString
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
● Obyクラスのinitializeメソッドの修正
土台に口をくっ付けます。
「ObyLips」のインスタンスを生成し
土台の「Oby」のサブモーフにする
横位置は土台のセンターに、
縦位置は土台のセンターから30下に下げます。
--------------------------------------------
initialize
super initialize.
"土台の設定"
self extent: 80@80.
self color: (Color r: 1.0 g: 1.0 b: 1.0 alpha: 0.5).
self borderWidth: 0.
"顔の生成"
face _ ObyFace new.
self addMorph: face.
face align: face center with: self center.
"口の生成"
lips _ ObyLips new.
self addMorph: lips.
lips align: lips center with: self center + (0 @ 30).
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
★インスタンスを出してみる
Workspaceに以下のコードを入力して試しましょう。
ここでは後で喋ってもらう為に、ボビーという変数に入れてます。
--------------------------------------------
boby _ Oby new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
おお!口がついた顔になったですね!!
★喋らせてみる
’〜〜’の中にいろいろ喋らせたいこと書いてみるといいっす。
--------------------------------------------
boby say: 'Daisy, Daisy, give me your answer do.'
--------------------------------------------
Alt + d ( Cmd + d )
ちゃんと喋ってくれました。「HeadMorph」では口のそばにバルーンが出てたけど、今回のやつの方がなんか自然な感じ。
口のいろんな表情とかのメソッドは、顔のバーツが一通りそろってからじっくりとやりまする。
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Links to this Page
- I BOBY last edited on 28 April 2004 at 8:57:55 pm by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- OBY 3 last edited on 17 June 2007 at 7:09:05 am by localhost.localdomain
- OBY 5 last edited on 18 June 2007 at 5:16:14 am by localhost.localdomain