我有自己的类,持有精灵。
精灵是用Zwoptex制作的动画。我得到了视网膜和标准图像。
我把我的班级放在场景中间。并且,出于某种原因,精灵显示的尺寸非常小。
我认为这可能是因为缩放(尽管我从不缩放精灵)。所以我决定放两个NSLog:
NSLog(@"%f",enemy2.scale);
NSLog(@"%f",enemy2.sprite.scale);
一个告诉我自定义类本身的规模,另一个告诉我精灵本身的规模。
然而,当我把 这两行代码 时, 精灵出现时带有预期的尺寸(更大)
NSLog结果为1.0。
为什么呢?有什么想法吗?
答案 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.png
和enemy-hd.png
,则Cocos2D将无法找到它们并恢复加载SD图像。
应该注意TexturePacker会检测并自动为您纠正此问题。上次我使用Zwoptex时,它会允许你创建这种不正确的纹理图集。