E. *_*ers 7 drawing objective-c line ios sprite-kit
我想用Apples SpriteKit Framework从A(100,50)到B(250,450)画一条线.
到目前为止,我能够使用a绘制此行SKShapeNode并设置其path属性.
我想要实现的是绘制这条动画线.让我们说从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];
Run Code Online (Sandbox Code Playgroud)
谁能指出我正确的方向?
您有一些使用 SKAction 的方法可能会实现您想要的:
SKAction performSelector: onTarget:
和
SKAction waitForDuration:
如果您对 SKShapeNode 进行子类化,则可以利用 a 中的这两个方法SKAction sequence来随着时间的推移绘制线条。
当然,您需要手动计算每次迭代绘制的新位置,并确定线条是否完成并随着时间的推移结束绘制过程。
如果有人有其他方法通过 SpriteKit 实现此功能,我绝对感兴趣,但如果没有,这应该可行。
抱歉,没有时间编写此代码,但逻辑应该可以帮助您实现这一点。
更新 :
我想到了另一种选择,我个人认为更容易一些。
这看起来相对容易,但是如果您想使其更加灵活,您仍然可以进行子类化,例如添加颜色参数等。