我想用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];
有人能指出我正确的方向吗?
答案 0 :(得分:4)
你有一些SKAction方法可能达到你想要的效果:
SKAction performSelector: onTarget:
和
SKAction waitForDuration:
如果您继承SKShapeNode,则可以在SKAction sequence
中使用这两种方法来绘制线条。
您当然需要手动计算要绘制到每次迭代的新位置,并确定该线是否已完成并结束绘图的时间过程。
如果有人有另一种方法通过SpriteKit实现此功能,那肯定感兴趣,但如果没有,这应该可行。
抱歉,没有时间对此进行编码,但逻辑应该可以帮助您。
更新:
我想到了另一个我个人认为更容易的选择。
这似乎相对简单,但如果你想让它更灵活,你可以继承子类,比如添加颜色参数等。