如何在RubyMotion中制作图像移动/动画?

时间:2012-07-12 12:34:58

标签: rubymotion

有一些使用animateWithDuration的例子 - 是否有关于如何使用此函数将图像从A点移动到B的简单示例?

4 个答案:

答案 0 :(得分:2)

快速而肮脏只是为了显示它正在使用中

class AppDelegate
  def application(application, didFinishLaunchingWithOptions:launchOptions)
    @window = UIWindow.alloc.initWithFrame UIScreen.mainScreen.bounds
    @window.makeKeyAndVisible

    my_view = UIView.alloc.initWithFrame [[0, 0], [50, 50]]
    my_view.backgroundColor = UIColor.greenColor
    @window.addSubview my_view

    UIView.animateWithDuration(0.25, animations: lambda {
      new_frame = my_view.frame
      new_frame.origin = [100, 100]
      my_view.frame = new_frame
    })
    true
  end
end

答案 1 :(得分:0)

以下代码可用于动画对象。

            my_view = UIView.alloc.initWithFrame [[0, 0], [50, 50]]
            my_view.backgroundColor = UIColor.greenColor
            view.addSubview my_view

            my_view.frame = [[0,0],[0,0]] #the position from which animation begins
            UIView.beginAnimations(nil,context:nil)
            UIView.setAnimationDuration(0.05)
            UIView.setAnimationDelay(0.2)
            UIView.setAnimationCurve(UIViewAnimationCurveEaseOut)
            my_view.frame = [[250,400],[50,50]]  # the position at which the animation ends
            my_view.backgroundColor = UIColor.blueColor #you can also change other properties while animating
            UIView.commitAnimations

答案 2 :(得分:0)

使用sugarcube

frame = my_view.frame
frame.origin = point_a
my_view.frame = frame

# animating the move to point_b is EASY
my_view.move_to point_b

答案 3 :(得分:0)

您可能还想查看Walt

  {
    move: "my_id",
    from: [10, 10],
    to: [50, 50]
  }