吱吱声中的动画片

2Bi*_*all 5 smalltalk squeak pharo morphic

我有一个简单的变形吱吱声smalltalk.我想用5秒(或10秒)将它从x1,y1移动到x2,y2(动画)

是否有一种在吱吱声中创建动画的方法?

Mar*_*inW 7

是的,有内置的方式:

创建Morph的子类并实现这两个方法

  • stepTime(步长之间的时间,以毫秒为单位)和
  • step(以固定的时间间隔发送到变形)

一个最小的例子:

Morph subclass: #MovingMorph
    instanceVariableNames: ''
    classVariableNames: ''
    category: 'MovingMorph'
Run Code Online (Sandbox Code Playgroud)

MovingMorph >> stepTime

stepTime
    ^ 100
Run Code Online (Sandbox Code Playgroud)

MovingMorph >>步

step
    self position: self position + (1@1)
Run Code Online (Sandbox Code Playgroud)

现在打开世界(一MovingMorph MovingMorph new openInWorld)和控制与动画startSteppingstopStepping.


Tob*_*ias 5

虽然可以使用Morphic步进显示动画,但动画项目需要更进一步,并提供一个简单的界面来使用短动画:

AnimPropertyAnimation new
   duration: 500;
   target: myMorph;
   property: #position; "There should be a message called #position:."
   startValue: 10@10;
   endValue: 100@100;
   start.
Run Code Online (Sandbox Code Playgroud)

淡入或淡出或类似的东西甚至更简单:

myMorph fadeOut.
Run Code Online (Sandbox Code Playgroud)