如何移动/动画CGRects

时间:2015-03-04 15:21:37

标签: ios objective-c

我无法移动CGRects。我想尝试一场突破性的比赛。在我的drawView文件中,我通过删除注释在drawRect函数中编写了代码。 我用这个moveBall(&_ball, &_context, rect);

结束了我的drawRect函数

moveball()在我的viewController.h / viewController.m中声明/实现。

我不确定如果球进入我的控制器后如何移动/动画球。我有以下代码:

void moveBall(CGRect *ball, CGContextRef *context, CGRect rect) 
{
    CGFloat velX = 1;
    CGFloat velY = 1;

    while (ball->origin.x + CGRectGetWidth(*ball) < CGRectGetWidth(rect))
    {
        CGContextClearRect(*context, *ball);
        *ball = CGRectOffset(*ball, velX, velY);
        CGContextFillEllipseInRect(*context, *ball);
    }
};

球会被移动&#34;会发生什么?到另一个地方,那里没有动画。问题是实现了while循环并显示了最终结果。我想在绘图完成后运行while循环。

有人可以指导我让球移动吗?

1 个答案:

答案 0 :(得分:2)

尝试使用CoreGraphics框架在drawRect方法中制作动画是徒劳的。

对于动画,您应该使用其他框架/技术。

  • 标准应用 - 核心动画
  • 游戏 - SpriteKit,OpenGL ES,Metal,cocos2D,Unity3D,