gpt4 book ai didi

java - 具有单个纹理区域的 AndEngine ButtonSprite

转载 作者:行者123 更新时间:2023-12-01 15:10:07 25 4
gpt4 key购买 nike

我有一个游戏,它使用 ButtonSprite 作为一些 UI 元素 Sprite 。对于每个按钮,我都有一个用于正常和按下状态的纹理区域。

mSomeBottonTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mLoadTextureAtlas, this, "SomeBotton.png", 0, 0);
mSomeBottonPressedTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mLoadTextureAtlas, this, "SomeBottonPressed.png", 0, 0);
ButtonSprite someButtonSprite = new ButtonSprite(0, 0, mSomeBottonTextureRegion, mSomeBottonPressedTextureRegion, mEngine().getVertexBufferObjectManager());

我发现没有任何构造函数可以处理具有单个 TiledTextureRegion 的 ButtonSprite,您可以为每个状态提供不同的图 block 。

我错过了什么吗?有没有办法用 ButtonSprite 做到这一点?或者我是否必须扩展 TiledSprite 并添加按钮功能,以便我只需制作一个 TextureRegion 而不是两个。

谢谢

最佳答案

您只需向 ButtonSprite 提供 TiledTextureRegion 即可,因为它旨在处理 3 种状态 - 正常、按下和禁用。检查 ButtonSprite.java,您将看到几个备用构造函数,它们采用 TiledTextureRegion 并将 stateCount 设置为传入的 TiledTextureRegion 中的图 block 数量。

这是其中一个构造函数

public ButtonSprite(final float pX, final float pY, final ITiledTextureRegion pTiledTextureRegion, final VertexBufferObjectManager pVertexBufferObjectManager, final OnClickListener pOnClickListener) {
super(pX, pY, pTiledTextureRegion, pVertexBufferObjectManager);

this.mOnClickListener = pOnClickListener;
this.mStateCount = pTiledTextureRegion.getTileCount();

switch(this.mStateCount) {
case 1:
Debug.w("No " + ITextureRegion.class.getSimpleName() + " supplied for " + State.class.getSimpleName() + "." + State.PRESSED + ".");
case 2:
Debug.w("No " + ITextureRegion.class.getSimpleName() + " supplied for " + State.class.getSimpleName() + "." + State.DISABLED + ".");
break;
case 3:
break;
default:
throw new IllegalArgumentException("The supplied " + ITiledTextureRegion.class.getSimpleName() + " has an unexpected amount of states: '" + this.mStateCount + "'.");
}

this.changeState(State.NORMAL);
}

关于java - 具有单个纹理区域的 AndEngine ButtonSprite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com