Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d iphone SpriteBuilder模糊导入的图像_Cocos2d Iphone_Filtering_Pixel_Spritebuilder - Fatal编程技术网

Cocos2d iphone SpriteBuilder模糊导入的图像

Cocos2d iphone SpriteBuilder模糊导入的图像,cocos2d-iphone,filtering,pixel,spritebuilder,Cocos2d Iphone,Filtering,Pixel,Spritebuilder,我正在使用spritebuilder学习一些动画,但它会使我导入和使用的图像变得模糊(或抗锯齿,我不知道) 在左边可以看到spritebuilder图像,在右边可以看到图像查看器中的png 你知道如何预防吗 我将_sprite.texture.antialiased更改为“否”,但结果相同。 左纹理。抗锯齿=否,右纹理。抗锯齿=是(默认) 我使用的代码是: @implementation MainScene{ CCSprite* _sprite1; CCSprite* _sp

我正在使用spritebuilder学习一些动画,但它会使我导入和使用的图像变得模糊(或抗锯齿,我不知道)

在左边可以看到spritebuilder图像,在右边可以看到图像查看器中的png

你知道如何预防吗

我将_sprite.texture.antialiased更改为“否”,但结果相同。 左纹理。抗锯齿=否,右纹理。抗锯齿=是(默认)

我使用的代码是:

@implementation MainScene{
    CCSprite* _sprite1;
    CCSprite* _sprite2;
    }

-(void)didLoadFromCCB{        
    _karel1.texture.antialiased=NO;
    //NSLog(@"hi");
    self.userInteractionEnabled=YES;

}

您必须将纹理过滤模式设置为最近(点)过滤。在cocos2d中,此CCTexture属性的命名不正确(或至少不正常)。它默认为“是”,因此将其设置为“否”,以对给定纹理启用最近点/点过滤

例如:

thePlayerSprite.texture.antialiased = NO;
这不能在SpriteBuilder中完成,您必须以编程方式完成。因为对于像素艺术来说,这是必要的


下面是来自SpriteBuilder论坛的更深入的讨论,解释。

您可能希望在SpriteBuilder中设置“缩放自”设置,每个图像或整个项目的默认设置为1x。默认情况下,SpriteBuilder希望您提供4x(iPad视网膜)分辨率的图像,并根据您在哪个设备上观看艺术作品来缩小图像的比例


看起来你正在做一个像素艺术游戏。本项目展示了一个如何设置的示例:

嘿,谢谢回复!我对此进行了测试,但它不起作用,我编辑了问题以添加其他信息检查_karel1是否为零也许我应该将其放在init方法中,而不是放在didLoadFromCCB中。这不会有什么区别,因为didLoadFromCCB在init之后不久运行,但在init期间纹理仍然为零(如果它被调用,CCSprite有一个非init的指定初始值设定项)。didLoadFromCCB在加载和显示所有元素后运行,对吗?在此之前关闭反序列化更有意义。记住纹理不是零