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

funfunfun15

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


■ステップアニメーション

よっしゃ!!アニメだ!アニメだよ〜ン。モーフは動いてなんぼやからね。
ホップ、ステップ、じゃ〜ンプ!!(かんけいないけど)

■クラスを作る

これまた楽をして前と同じ。Morphクラスを継承します。
--------------------------------------------
Morph subclass: #TestMorph7
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'MyMorph'
--------------------------------------------
アクセプト。
Alt + s ( Cmd + s )

Uploaded Image: image13.jpg


■インスタンスを出します。

確認の為、Workspaceに下記のコードを書いてドゥーイット。

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

Uploaded Image: image14.jpg


Uploaded Image: image15.jpg


■メソッドを追加 くるくるまわしちゃうっす。

初期設定も同じなんですが、最後の行の「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 )

Uploaded Image: image16.jpg

そしてWorkSpaceでドゥーイット。
Alt + d ( Cmd + d )

Uploaded Image: image17.jpg

おお!!まわっちょる、まわっちょる!!まさにアニメ〜しょン!!
(ってほどじゃないけどね)

Uploaded Image: image18.jpg


■伸びたり縮んだりさせるです

「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 )

Uploaded Image: image19.jpg

伸びたり縮んだりしてますな!!
戻るときが突然50になるってのがなんだかなあ・・なんですが。
本当はバウンシングボールと行きたいところなんですけど
領域判定とかあるんで、これはまたの機会ということで。
まずはシンプルにいろんな機能を見ていきたいんで
あまりソースコードが長くならないようにって感じで
行きたいとおもっちょりまする。
(めんどくさいだけじゃないのか?)

Uploaded Image: image20.jpg




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







■ MEMO ■

Links to this Page