大佬教程收集整理的这篇文章主要介绍了ios – 带图像的SKSpriteNode不会着色,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
//Easy Button Image _easyImage = [[SKSpriteNode alloc]initWithImagenamed:@"smiley.png"]; _easyImage.position = CGPointMake(-20,screenHeight / 2); _easyImage.name = easyBtnName; _easyImage.physicsBody.affectedByGravity = NO; _easyImage.zPosition = 10; [self addChild:_easyImage];
我正在尝试在触摸开始方法中点击后对图像进行着色.我有一个对SKSpriteNode@L_696_4@的引用,所以一旦我看到它被单击,我执行此代码
SKAction *pulseRed = [self colorizeChoosenSpriteNodeWithColor:[SKColor redColor]]; [_easyImage runAction: pulseRed];
-(SKAction*)colorizeChoosenSpriteNodeWithColor:(SKColor*)color { SKAction *changeColOraction = [SKAction colorizeWithColor:color colorBlendFactor:1.0 duration:0.3]; SKAction *waitAction = [SKAction waitForDuration:0.2]; SKAction *SELEctAction = [SKAction sequence:@[changeColOraction,waitAction]]; return SELEctAction; }
但是,我的图像颜色永远不会改变.我可以完全改变图像的纹理,但我不能只改变颜色.
编辑:我删除了一些分散注意力的代码.我调试了代码,它肯定正确执行,但我没有得到预期的结果.
更新:颜色出现在我发现的图像下方.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) { if ([node.name isEqualToString:easyBtnName]){ _easyImage.color = [SKColor redColor]; _easyImage.colorBlendFactor = 1; SKAction *pulseRed = [self colorizeChoosenSpriteNodeWithColor:[SKColor redColor]]; [_easyImage runAction: pulseRed]; } } }
以上是大佬教程为你收集整理的ios – 带图像的SKSpriteNode不会着色全部内容,希望文章能够帮你解决ios – 带图像的SKSpriteNode不会着色所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。