разрешение изображения iPhone 4 и размер изображения - PullRequest
0 голосов
/ 10 августа 2010

Я в полном замешательстве. Apple рассказала, что в iPhone 4 можно использовать изображение высокого разрешения ... чем стандартный. Так что я использую 2 изображения (image@2x.png и image.png) ...

image@2x.png имеет размерность 50 * 50 и разрешение 72 image.png имеет размерность 25 * 25 и разрешение 72

чем когда я запускаю код

UIImage *image = [ UIImage imageNamed:@"a.png"];
            CCTexture2D  *tex = [ [CCTexture2D alloc] initWithImage:image ];
            [image release];

            CCSprite *u = [CCSprite spriteWithTexture:tex  rect:CGRectMake(0, 0,25, 25)];

в iPhone 4 я думаю, что image@2x.png должен загрузиться, и он загрузился, но изображение обрезано ... я не получаю полное изображение ......

но когда я возьму это ...

image@2x.png имеет размерность 25 * 25 и разрешение 144 image.png имеет размерность 25 * 25 и разрешение 72

изображение не вырезано и все в порядке ...... не знаю почему ??

Другое дело .... когда я использую это ..

UIImageView *imageView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"BGS.png"]];
[self.view addSubview:imageView];
[imageView release];

это работает как Apple сказал .... тогда это проблема с cocos2d ?? я использую cocos2d.99.4 ..

1 Ответ

1 голос
/ 13 августа 2010

Текстуры Cocos2d используют свойство CGImage UIImage. Масштабный коэффициент CGImages предполагается равным 1, но на iPhone 4 UIImages имеют масштабный коэффициент 2, поэтому вы видите обрезку, которую вы делаете.

Какую версию cocos2d вы используете? В v0.99.4 есть поддержка отображения сетчатки, так что простое обновление вашей библиотеки может решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...