SpriteKit动画可以画出一条线吗?
我想用Apples SpriteKit Framework从A(100,50)到B(250,450)画一条线。
到目前为止,我可以使用SKShapeNode
绘制这条线并设置其路径属性。
我想要实现的是将这条线画成动画。 假设从A点到B点画线需要2秒钟的时间。
我查看了SKAction
类,但似乎没有默认支持此功能的方法。
这是我用来创建该行的代码:
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 100, 50);
CGPathAddLineToPoint(path, NULL, 250.0, 450.0);
SKShapeNode *line = [SKShapeNode node];
line.path = path;
[line setStrokeColor:[UIColor whiteColor]];
[self addChild:line];
任何人都可以将我指向正确的方向吗?
你有几个SKAction的方法可能会达到你想要的:
SKAction performSelector: onTarget:
和
SKAction waitForDuration:
如果您继承SKShapeNode,则可以在SKAction sequence
使用这两种方法随着时间的推移绘制线。
您当然需要手动计算绘制到每个迭代的新位置,并确定该线是否已完成,并结束绘制随着时间的过程。
绝对有兴趣的,如果有人有另一种方式来通过SpriteKit实现这一功能,但如果没有,这应该工作。
对不起,没有时间对此进行编码,但逻辑应该会让你到那里。
更新:
我想到了另一种我个人认为更容易的选择。
这看起来相对容易,但如果您想使其更加灵活,您仍然可以继承子类,例如添加颜色参数等。
链接地址: http://www.djcxy.com/p/75215.html