2015-05-31 2 views
2

Я создаю один пиксель с указанным цветом, используя общий метод createSinglePixelTexture(), как я упомянул ниже.Утилизация текстуры в LibGdx

Вопрос: 1. Нужно ли мне утилизировать «singlePixelPixmap» и текстуру «t»? 2. Если мне нужно распоряжаться этим, где я могу его утилизировать?

singlePixelTexture = createSinglePixelTexture(0.129f, 0.129f, 0.129f, .7f); 



private Texture createSinglePixelTexture(float r,float g,float b,float a) { 
    Pixmap singlePixelPixmap; 
    singlePixelPixmap = new Pixmap(1, 1, Pixmap.Format.RGBA8888); 
    singlePixelPixmap.setColor(r, g, b, a); 
    singlePixelPixmap.fill(); 
    PixmapTextureData textureData = new PixmapTextureData(singlePixelPixmap, Pixmap.Format.RGBA8888, false, false, true); 
    Texture t = new Texture(textureData); 
    t.setFilter(TextureFilter.Nearest, TextureFilter.Nearest); 
    return t; 
} 
+0

Вы должны утилизировать его! Однако мы не можем вам сказать, когда вы можете распоряжаться им. Это зависит от вас ... Вы распоряжаетесь им, когда его больше не будет использовать. – noone

+0

Но переменная «singlePixelPixmap» и «t» не может быть удалена, поскольку область видимости внутри метода createSinglePixelTexture(). мы не можем распоряжаться им перед оператором return. Любой совет здесь – iappmaker

+0

Вы должны избавиться от текстуры из этой области, конечно, так как вы ее возвращаете. Я думаю, вы также можете сделать pixmap «управляемым», что также приведет к его удалению, когда текстура будет удалена. – noone

ответ

2
  1. Вам не нужен посредник PixmapTextureData; это совершенно необязательно.
  2. Как только вы создаете Texture с Pixmap, вы можете распоряжаться Pixmap. Таким образом, вы можете вставить удаление всего, кроме текстуры, непосредственно перед return.
  3. После того, как вы разместите Texture, его невозможно нарисовать. Не удаляйте t, если вы НЕ УВЕРЕНЫ, что никогда не попытаетесь снова нарисовать его.
+1

Я понимаю, не могли бы вы сообщить мне, где находится утилита, созданная моим методом createSinglePixelTexture(). – iappmaker

Смежные вопросы