funfunfun15
■ステップアニメーション
よっしゃ!!アニメだ!アニメだよ〜ン。モーフは動いてなんぼやからね。
ホップ、ステップ、じゃ〜ンプ!!(かんけいないけど)
■クラスを作る
これまた楽をして前と同じ。Morphクラスを継承します。
--------------------------------------------
Morph subclass: #TestMorph7
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
■インスタンスを出します。
確認の為、Workspaceに下記のコードを書いてドゥーイット。
--------------------------------------------
TestMorph7 new openInWorld
--------------------------------------------
Alt + d ( Cmd + d )
■メソッドを追加 くるくるまわしちゃうっす。
初期設定も同じなんですが、最後の行の「self startStepping」に注目。
インスタンスが出来た時点でアニメをスタートさせてます。
--------------------------------------------
initialize
super initialize.
self extent: 50@50.
self startStepping.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
ここでアニメの動作を設定でするな。ステップごとに2だけ回転させます。
--------------------------------------------
step
self heading: self heading + 2.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
これはステップを実行する間隔を設定してまする。「0」が一番速いんだろうね。
--------------------------------------------
stepTime
^ 10.
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
そしてWorkSpaceでドゥーイット。
Alt + d ( Cmd + d )
おお!!まわっちょる、まわっちょる!!まさにアニメ〜しょン!!
(ってほどじゃないけどね)
■伸びたり縮んだりさせるです
「step」メソッドを書き換えて伸び縮みするあにめにへんこうしてみましょうかいなっと。
ステップごとに現在のモーフの幅を調べて
幅が200以下ならモーフの幅に1を加えていきます。
幅が200以上になったらモーフの幅を50に戻します。
--------------------------------------------
step
| nowWidth |
nowWidth _ self width.
nowWidth < 200
ifTrue: [self width: nowWidth + 1].
nowWidth >= 200
ifTrue: [self width: 50].
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )
伸びたり縮んだりしてますな!!
戻るときが突然50になるってのがなんだかなあ・・なんですが。
本当はバウンシングボールと行きたいところなんですけど
領域判定とかあるんで、これはまたの機会ということで。
まずはシンプルにいろんな機能を見ていきたいんで
あまりソースコードが長くならないようにって感じで
行きたいとおもっちょりまする。
(めんどくさいだけじゃないのか?)
▲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
- funfunfun14 last edited on 18 June 2007 at 5:24:20 am by localhost.localdomain
- funfunfun16 last edited on 18 June 2007 at 5:39:33 am by localhost.localdomain