Java 将纹理区域投射到纹理区域

Java 将纹理区域投射到纹理区域,java,android,sprite,andengine,Java,Android,Sprite,Andengine,我正在开发一款类似“水果忍者”的游戏,目前我只使用一个名为facebook的水果 开发水果池现在已经准备好了,但是当我定义 1. private TextureRegion facebook; 2. facebook = BitmapTextureAtlasTextureRegionFactory.createFromAsset( 3. this.mBitmapTextureAtlas, this, "facebook.png",

我正在开发一款类似“水果忍者”的游戏,目前我只使用一个名为facebook的水果 开发水果池现在已经准备好了,但是当我定义

      1. private TextureRegion facebook;
      2.    facebook = BitmapTextureAtlasTextureRegionFactory.createFromAsset(
      3.            this.mBitmapTextureAtlas, this, "facebook.png", 0, 0);


      4.    target = new TargetsPool(facebook);
在我的simplebasegameactivity中,第4行target=new TargetsPool(facebook)上出现错误;并说当我使用代码时,将facebook的类型更改为TextureRegion

       org.anddev.andengine.opengl.texture.region.TextureRegion 
代替第1行中的TextureRegion生成

 public class TargetsPool extends GenericPool<Sprite> {

private TextureRegion mTextureRegion;

public TargetsPool(TextureRegion facebook) {
    if (facebook == null) {
        // Need to be able to create a Sprite so the Pool needs to have a
        // TextureRegion
        throw new IllegalArgumentException(
                "The texture region must not be NULL");
    }
    mTextureRegion = facebook;

}



@Override
protected Sprite onAllocatePoolItem() {

        Sprite sprite =new Sprite(0, 0, mTextureRegion.deepCopy());



    return sprite;
}

protected void onHandleRecycleItem(final Sprite target) {
    target.clearEntityModifiers();
    target.clearUpdateHandlers();
    target.setVisible(false);
    target.detachSelf();
    target.reset();
}
公共类TargetsPool扩展了GenericPool{
私有纹理区域MTEXTURE区域;
public TargetsPool(纹理区域facebook){
如果(facebook==null){
//需要能够创建一个精灵,所以池需要有一个
//纹理区域
抛出新的IllegalArgumentException(
“纹理区域不得为空”);
}
mTextureRegion=facebook;
}
@凌驾
受保护的精灵onAllocatePoolItem(){
精灵精灵=新精灵(0,0,mTextureRegion.deepCopy());
返回精灵;
}
handleRecycleItem上的保护空洞(最终精灵目标){
target.clearEntityModifiers();
target.clearUpdateHandlers();
target.setVisible(false);
target.self();
target.reset();
}
}


这是一个cast问题,当我在某个时间使用andengine org.anddev.andengie工作时,我通常会遇到这个问题

你有ClassCastException吗?嗯,我所有的andengine软件包都是org.andengine而不是org.anddev.andengine。。。我会保持一致。如果我没记错的话,org.anddev.andengine是andenginegles1包的前缀,但我不是100%确定。否则,代码看起来是正确的。你可以在这里找到GLES2分支:我可以在一个类中同时使用GLES1和GLES2吗?不要混合使用GLES1和GLES2。