Reputation: 1378
I have a simple morph in squeak smalltalk. I want to move it from x1,y1 to x2,y2 (animation) with 5 seconds (or 10 seconds)
is there a build in way to create animation in squeak smalltalk ?
Upvotes: 6
Views: 906
Reputation: 3110
While it is possible to show animations using Morphic stepping, the Animations Project takes a bit further, and provides a simple interface to use short animations:
AnimPropertyAnimation new
duration: 500;
target: myMorph;
property: #position; "There should be a message called #position:."
startValue: 10@10;
endValue: 100@100;
start.
Things like fade-in or fade-out or similar are even simpler:
myMorph fadeOut.
Upvotes: 7
Reputation: 5041
Yes, there is a built in way:
Make a subclass of Morph and implement the two methods
A minimal example:
Morph subclass: #MovingMorph
instanceVariableNames: ''
classVariableNames: ''
category: 'MovingMorph'
MovingMorph>>stepTime
stepTime
^ 100
MovingMorph>>step
step
self position: self position + (1@1)
Now open a MovingMorph in the World (MovingMorph new openInWorld
) and control the animation with startStepping
and stopStepping
.
Upvotes: 8