Codi simple Java 3 - Funcio addTRtoAtlas
per Jordi Farrero
—
darrera modificació
2020-03-25T14:52:33+01:00
sample2.txt — 2.2 KB
Continguts del fitxer
public class commons { private static final int maxTR=10; private static TextureRegion[] imagesOnAtlas = new TextureRegion[maxTR]; private static int indexTR=0; public static TextureRegion addToTextureAtlas(BitmapTextureAtlas tBTAtlas,BaseGameActivity myActivity,String tPath) { // Get the Widht & Height in internal Sample BitmapTextureAtlas internalTA = new BitmapTextureAtlas(1024, 1024,TextureOptions.BILINEAR_PREMULTIPLYALPHA); TextureRegion tTRegion_sample=BitmapTextureAtlasTextureRegionFactory.createFromAsset(internalTA, myActivity,tPath, 0, 0); int current_Width= tTRegion_sample.getWidth(); int current_Height= tTRegion_sample.getHeight(); // Log.d("------- MARK -------->","Width es:" + tTRegion_sample.getWidth() + "Height es" + tTRegion_sample.getHeight()); //----------------------------- TextureRegion tTRegion; // Calculate current max width (TRY CATCH???) int total_width=0; for (int idx=0;idx<imagesOnAtlas.length;idx++) { if (imagesOnAtlas[idx]==null) break; else { total_width+=imagesOnAtlas[idx].getWidth(); } } // Maybe can allocate here. if ((1024-total_width)>current_Width) { // Variables a calcular en funcion del width i height del textureRegion int tX=total_width; int tY=0; tTRegion=BitmapTextureAtlasTextureRegionFactory.createFromAsset(tBTAtlas, myActivity,tPath, tX, tY); // Add to array imagesOnAtlas[indexTR]=tTRegion; indexTR++; Log.d("------- MARK -------->","Ponlo en:" + total_width); } else { int Ymax=getMaxHeightOnAtlas(imagesOnAtlas); //if not tTRegion=null; } //----------------------------- return tTRegion; } //Find maximum (largest) value in array using loop private static int getMaxHeightOnAtlas(TextureRegion[] sampleTR){ int maxValue = sampleTR[0].getHeight(); for(int i=1;i<sampleTR.length;i++){ if (sampleTR[i]!=null){ if(sampleTR[i].getHeight() > maxValue){ maxValue = sampleTR[i].getHeight(); } } else break; } return maxValue; } }