Ios 制作圆形雪碧
我有一个小而简单的SpriteKit游戏,它基于一个小动画。基本上,每次点击屏幕时,我都希望在被点击的地方长出一个圆形。 我现在有以下代码:Ios 制作圆形雪碧,ios,shapes,Ios,Shapes,我有一个小而简单的SpriteKit游戏,它基于一个小动画。基本上,每次点击屏幕时,我都希望在被点击的地方长出一个圆形。 我现在有以下代码: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { /* Called when a touch begins */ NSLog(@"Touched the screen"); for (UITouch *touch in touches)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
NSLog(@"Touched the screen");
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
///NSLog(@"Location X is %f", location.x);
//NSLog(@"Location Y is %f", location.y);
SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithColor:[SKColor purpleColor] size:CGSizeMake(25, 25)];
sprite.position = location;
SKAction *action = [SKAction scaleBy:10 duration:0.5];
SKAction *newaction = [SKAction fadeAlphaTo:0 duration:0.5];
[sprite runAction:action];
[sprite runAction:newaction];
[self addChild:sprite];
}
}
问题是轻敲时创建的形状是正方形。有没有办法让它转个圈
还有一件事我正在处理的是颜色。我把颜色调成紫色。完美的做法是,形状的颜色是一组中的随机颜色,但我也不知道如何做到这一点。正如我在评论中提到的,这在SKShapeNode中是可能的
UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointZero
radius: 50
startAngle: 0
endAngle: M_PI * 2
clockwise: true];
SKShapeNode* circle = [SKShapeNode node];
circle.path = path.CGPath;
circle.lineWidth = 0;
circle.fillColor = [UIColor redColor];
正如我在评论中提到的,这在SKShapeNode中是可能的
UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointZero
radius: 50
startAngle: 0
endAngle: M_PI * 2
clockwise: true];
SKShapeNode* circle = [SKShapeNode node];
circle.path = path.CGPath;
circle.lineWidth = 0;
circle.fillColor = [UIColor redColor];
正如我在评论中提到的,这在SKShapeNode中是可能的
UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointZero
radius: 50
startAngle: 0
endAngle: M_PI * 2
clockwise: true];
SKShapeNode* circle = [SKShapeNode node];
circle.path = path.CGPath;
circle.lineWidth = 0;
circle.fillColor = [UIColor redColor];
正如我在评论中提到的,这在SKShapeNode中是可能的
UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointZero
radius: 50
startAngle: 0
endAngle: M_PI * 2
clockwise: true];
SKShapeNode* circle = [SKShapeNode node];
circle.path = path.CGPath;
circle.lineWidth = 0;
circle.fillColor = [UIColor redColor];
尝试一个而不是一个SKSpriteNode。看看颜色。@ahruss我花了一些时间阅读了关于shapenode的文章,根本没有简单的方法来创建一个圆,根据我所读的内容,由于一个bug,你不能用颜色填充shapenode。我不确定这些是否正确,我只是说。试着用一个而不是一个SKSpriteNode。看看颜色。@ahruss我花了一些时间阅读了关于shapenode的文章,根本没有简单的方法来创建一个圆,根据我所读的内容,由于一个bug,你不能用颜色填充shapenode。我不确定这些是否正确,我只是说。试着用一个而不是一个SKSpriteNode。看看颜色。@ahruss我花了一些时间阅读了关于shapenode的文章,根本没有简单的方法来创建一个圆,根据我所读的内容,由于一个bug,你不能用颜色填充shapenode。我不确定这些是否正确,我只是说。试着用一个而不是一个SKSpriteNode。看看颜色。@ahruss我花了一些时间阅读了关于shapenode的文章,根本没有简单的方法来创建一个圆,根据我所读的内容,由于一个bug,你不能用颜色填充shapenode。我不确定这些是否正确,我只是说。非常感谢。它确实创造了一个循环,这是伟大的。。我现在注意到的唯一一件事是,当我点击屏幕时,圆圈扩大,其alpha衰减为零,但当这种情况发生时,节点保持在那里,与矩形不同,当第二次完全透明时,节点也会消失。现在游戏以每秒3帧的速度运行,因为这些不会消失。。。。是否对此进行了修复?可能会使您的操作
[SKAction sequence:@[[SKAction group:@[action1,action2]],[SKAction removeFromParent]]
非常感谢。它确实创建了一个圆环,非常棒。我现在注意到的唯一一件事是,当我点击屏幕时,圆圈会扩大,其alpha会衰减为零,但当这种情况发生时,节点会保持在那里,不像矩形那样,当第二次完全透明时,节点也会消失。现在游戏以3 fps的速度运行导致这些问题无法解决的原因…是否对此进行了修复?可能会使您的操作[SKAction sequence:@[[SKAction group:@[action1,action2]],[SKAction removeFromParent]]
非常感谢。它确实创建了一个圆环,非常棒。我现在注意到的唯一一件事是,当我点击屏幕时,圆圈会扩大,其alpha会衰减为零,但当这种情况发生时,节点会保持在那里,不像矩形那样,当第二次完全透明时,节点也会消失。现在游戏以3 fps的速度运行导致这些问题无法解决的原因…是否对此进行了修复?可能会使您的操作[SKAction sequence:@[[SKAction group:@[action1,action2]],[SKAction removeFromParent]]
非常感谢。它确实创建了一个圆环,非常棒。我现在注意到的唯一一件事是,当我点击屏幕时,圆圈会扩大,其alpha会衰减为零,但当这种情况发生时,节点会保持在那里,不像矩形那样,当第二次完全透明时,节点也会消失。现在游戏以3 fps的速度运行导致这些问题无法解决的原因…是否对此进行了修复?可能会使您的操作[SKAction sequence:@[[SKAction group:@[action1,action2]],[SKAction removeFromParent]