2013-02-22 3 views
1

В соответствии с разным разрешением экрана не может использоваться одно изображение для каждого устройства.Обработка изображений в cocos2d android?

Итак, как управлять этой штукой в ​​Cocos2d-android?

или

Использование setScale() нормально с ним.

ответ

2

Вы должны создать метод, который может получить соответствующее изображение в соответствии с размером экрана.

Существуют следующие шаги, которые помогут вам получить изображение

1) Получить размер экрана и хранить, что в переменной

я использовал в качестве

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); 
display = wm.getDefaultDisplay(); 
if(display.getWidth()<=320) 
{ 
    GameCons.setSCreenSize(1); 
}else if(display.getWidth()<=480) 
{ 
    GameCons.setSCreenSize(2); 
}else if(display.getWidth()<=860) 
{ 
    GameCons.setSCreenSize(3); 
}else 
{ 
    GameCons.setSCreenSize(4); 
} 

Теперь у нас есть экран размер (1,2,3,4) хранить в переменном экране. Размер

2) Теперь назначьте имя изображениям, которые вы используете

при условии, если мы имеем четыре изображений player.png за четыре резолюции затем присвоить имя там, как player_1.png player_2.png player_3.png player_4.png

Эти же изображения для различного разрешения

3) Теперь создаст метод, который возвращает имя изображения, как

public static String getImageURI(String name) { 
     if (screenSize== 1) { 
      return name + "_1.png"; 
     } else if (screenSize== 2) { 
      return name + "_2.png"; 
     } else if (screenSize== 3) { 
      return name + "_3.png"; 
     } else { 
      return name + "_4.png"; 
     } 
    } 

4) Теперь вы должны использовать этот метод в слое при пропускании имени спрайта или какой-либо другой например:

target = CCSprite.sprite(getImageURI("player")); 

Вы должны только передать имя перед подчеркиванием в методе, как указано выше реальное имя, как player_1.png, но мы только проходит игрок

getImageURI возвратит соответствующее название в соответствии с размером экрана предполагающей, если мы имеем размер экрана 2, то getImageURI вернется

player_2.png

так код будет б ecome like target = CCSprite.sprite ("player_2.png"); // getImageURI вернет player_2.png