Я не уверен, что это сделано таким образом (у меня никогда не было игры, в которой я ее использовал и не пробовал), но вот одна мысль пришла мне в голову:
Допустим, у нас есть игра с редактированием внешнего вида персонажей, например, maplestory. Проще говоря, персонаж - это просто круг или двухмерный шар, и вы можете изменить его цвет и цвет глаз. Итак, у вас есть эти папки:
assets/gfx/circles
А
assets/gfx/eyes
Теперь, допустим, у нас есть этот круг:

И у нас есть эти глаза:

И мы хотим объединить их.
Вы могли бы сделать это:
BitmapTextureAtlas playerTextureAtlas = new BitmapTextureAtlas(256, 256 TextureOptions.BILINEAR_PREMULTIPLYALPHA);
TextureRegion playerTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(playerTextureAtlas, this, "circles/redcircle.png", 0, 0);
//By executing the next line, we place the eyes over the player texture area.
//There is NO need to keep a reference to the texture region this returns to us, because technically this one and playerTextureRegion are THE SAME - they both hold the same region in the texture (As long as they have the same sizes, of course)
BitmapTextureAtlasTextureRegionFactory.createFromAsset(playerTextureAtlas, this, "eyes/yelloweyes.png", 0, 0);
Помните - фон изображения глаз должен быть прозрачным, чтобы он не перекрывал круг! Поиграйте с параметром TextureOptions
. Я не уверен, что тот, который я использовал, подойдет для этой цели - может быть, другой будет.
И, наконец, вы должны держать глаза и круги одинакового размера, так как таким образом легче проверить, подходят ли они. Если вы сделаете глаза просто маленьким прямоугольником, вам придется возиться с ним, пока не найдете место, где вы должны расположить его над кругом. Пустая трата времени ...
Теперь вы можете просто загружать разные тела / глаза / волосы и т. Д., Размещать их, и у вас есть настроенный игрок!