OBY22
目から光線を出すのら!
相手のモーフ向かって光線も出せるようにしちゃうのだ。
何故かって?楽しそうだから・・・・。
■RayLineクラスを作る
● RayLineクラス
光線のクラスをPolygonMorphを親にして作りまする。
cntは光線の表示カウンター
--------------------------------------------
PolygonMorph subclass: #RayLine
instanceVariableNames: 'cnt '
classVariableNames: ''
poolDictionaries: ''
category: 'ObyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■メソッドを追加します。
● initializeメソッド
cntを0にするだけ
--------------------------------------------
initialize
super initialize.
cnt _ 0.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
● setLineメソッド
ラインの両端の座標を設定するメソッド
--------------------------------------------
setLine: aMorph position: aPoint
self setVertices: {aPoint. aMorph center.}.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
● stepメソッド
RayLineのインスタンスが生成されてから40カウントで自ら消滅ってわけね。
--------------------------------------------
step
super step.
cnt _ cnt + 1.
cnt >= 40 ifTrue: [
self delete].
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
● stepTimeメソッド
0ね!
--------------------------------------------
stepTime
^ 0
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■ObyEyeクラスにメソッドを追加
● beamメソッド
光線を発射するメソッド
RayLineのインスタンスを生成
光線の色はオレンジ色
ObyEyeのサブモーフにする
位置はirisのセンターに
RayLineのstepをスタート
--------------------------------------------
beam: aMorph
| rl |
rl _ RayLine new.
rl borderWidth: 1.
rl borderColor: Color orange.
rl openInWorld.
rl position: self iris center.
rl setLine: aMorph position: self iris center.
rl startStepping.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■ObyEyesクラスにメソッドを追加
● beamメソッド
ObyEyesにも同名のメソッドを追加ね。
これで両目から光線を発射できるようになったってわけね。
--------------------------------------------
beam: aMorph
self leftEye beam: aMorph.
self rightEye beam: aMorph.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■Obyクラスにメソッドを追加
● beamメソッド
Obyからもアクセスできるようにするです。
--------------------------------------------
beam: aMorph
self eyes beam: aMorph.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
★インスタンスを出してみる
全ページのやったやつがあるならこれは省略可でするよ。
--------------------------------------------
boby _ Oby new openInWorld
target _ EllipseMorph new openInWorld.
--------------------------------------------
Alt + d ( Cmd + d )
--------------------------------------------
boby beam: target
--------------------------------------------
Alt + d ( Cmd + d )
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Monday, 19 April 2004, 9:49:31 pm
ちなみにここまでのソースコード。--thoru
ObyMorph.st
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
- OBY21 last edited on 18 June 2007 at 5:13:42 am by localhost.localdomain
- OBY23 last edited on 18 June 2007 at 5:29:41 am by localhost.localdomain