我想知道区别是什么。并且有人也可以说出纹理和纹理之间的差异。
Greetz Luc
答案 0 :(得分:3)
通过执行countries = {
option.xpath("@label").extract()[0]: option.xpath("@value").extract()[0]
for option in response.xpath("//select[@id='airportgroupid']//option")
}
country_id = countries["Turkey"]
在游戏中加载纹理时,可以在GPU中加载纹理。
TextureRegion,根据你提供的尺寸从纹理中获取一个区域,拥有它的优点是你不必一次又一次地加载纹理,更大的优点是你不必加载每个和GPU上的每个纹理都可以直接通过加载一个大纹理并从中提取子区域(TextureRegions)来实现。
现在因为你想使用Texture t = new Texture("");
,很难知道从Texture Sheet加载它们的每个子图像的尺寸。所以我们要做的是使用TexturePacker(一个应用程序)将Textures打包成更大的纹理,然后创建一个TextureRegions
文件。它会将每个纹理打包成一个图像并创建一个.pack文件。现在,当您加载.pack文件时,它将使用.pack
类加载
例如,想象一个口袋妖怪包装文件,其中包含所有小宠物。
TextureAtlas
现在假设您使用Texture Packer打包了100个文件,并且您想要加载一个文件名为“SomePokemon”的图像( TextureAtlas pokemonFrontAtlas = new TextureAtlas(Gdx.files.internal("pokemon//pokemon.pack"));
)。
现在从中获取特定的TextureRegion,你可以
Texture
findRegion(String name)从pokemonFrontAtlas.findRegion("SomePokemon")
返回textureRegion。
总而言之,主要区别在于,TextureAtlas
是纹理中的区域,而 TextureRegion
是TextureAtlas
的集合。
修改强>
TextureRegions
类包含TextureAtlas
类的集合,该类扩展了AtlasRegion
类。
有关详细信息,请参阅Javadocs TextureAtlas
答案 1 :(得分:3)
Texture
是OpenGL 2D纹理的libGDX实现。也就是说:它代表GPU内存中的单个2D纹理,可用于渲染。您通常希望使用尽可能少的纹理(并且特别希望避免在纹理之间切换)。因此,通常在一个较大的Texture
中包含多个图像。TextureRegion
用于定义Texture
的区域。实际上它因此说:“在那些坐标上的纹理和这个图像所在的那些尺寸”。TextureAtlas
是一个或多个Texture
及其包含的区域的容器。您通常从包含有关图集的所有信息的文件中加载TextureAtlas
。此文件通常使用TexturePacker
工具创建。请注意,图集可以包含多个纹理文件。AtlasRegion
是TextureRegion
,其中包含有关打包的其他信息。例如。当区域旋转以进行最佳打包时,AtlasRegion
包含此信息,因此它知道在绘制时必须撤消该操作。同样,如果在打包地图集时使用空格剥离以进行更紧密的打包,则AtlasRegion
包含重现原始图像所需的信息。