奇怪的缩放行为

时间:2011-11-22 13:51:29

标签: cocos2d-iphone

我有自己的类,持有精灵。

精灵是用Zwoptex制作的动画。我得到了视网膜和标准图像。

我把我的班级放在场景中间。并且,出于某种原因,精灵显示的尺寸非常小。

我认为这可能是因为缩放(尽管我从不缩放精灵)。所以我决定放两个NSLog:

    NSLog(@"%f",enemy2.scale);
    NSLog(@"%f",enemy2.sprite.scale);

一个告诉我自定义类本身的规模,另一个告诉我精灵本身的规模。

然而,当我把 这两行代码 时, 精灵出现时带有预期的尺寸(更大)

NSLog结果为1.0。

为什么呢?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

除非已经实现了scale getter方法并且更改了scale_ instance变量,否则不会发生这种情况。

最初我会说小精灵似乎表明你正在装载Retina设备上的SD图像,而不是高清图像。如果您使用的是纹理图集,请务必将SD和HD资源命名为:

// SD images
textureatlas.png
textureatlas.plist
--> player.png
--> enemy.png

// HD images
textureatlas-hd.png
textureatlas-hd.plist
--> player.png       // no -HD suffix!
--> enemy.png        // no -HD suffix!

在纹理图集中添加精灵帧也是一个常见的错误。因此,如果高清纹理图集中的精灵帧被命名为player-hd.pngenemy-hd.png,则Cocos2D将无法找到它们并恢复加载SD图像。

应该注意TexturePacker会检测并自动为您纠正此问题。上次我使用Zwoptex时,它会允许你创建这种不正确的纹理图集。

相关问题