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