奇怪的缩放行为

问题描述:

我有我自己的类,持有精灵。奇怪的缩放行为

子画面是与Zwoptex制成动画。我得到了视网膜和标准图像。

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

我想这可能是因为缩放(虽然我从来没有缩放精灵)。所以我决定将两个NSLogs:

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

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

然而,当我把的代码这两条线,精灵出现与预期的大小(大)

而NSLog的结果是1.0。

为什么?有任何想法吗?

除非规模getter方法已经实施,并改变scale_实例变量这不应该发生。

起初,我要说的是,精灵是小尺寸似乎表明你是一个视网膜设备上加载,而不是HD影像的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时,它可以让你创建这样不正确的纹理地图集。