作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几个月前我看过 andengine,并且成功地利用它做了一些东西。现在我下载了最新版本,但我遇到了最简单的事情崩溃。这是我的代码
package francesco.mygame;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.background.ColorBackground;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.entity.util.FPSLogger;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;
import org.anddev.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.ui.activity.BaseGameActivity;
public class mainMenu extends BaseGameActivity
{
// ===========================================================
// Constants
// ===========================================================
static final int CAMERA_WIDTH = 480;
static final int CAMERA_HEIGHT = 320;
//private static final String TAG = "Main Menu";
// ===========================================================
// Fields
// ===========================================================
protected Camera mCamera;
protected BitmapTextureAtlas mTexture;
protected TextureRegion mPlayTexture;
protected Sprite mPlaySprite;
protected Sprite mQuitSprite;
protected TextureRegion mQuitTexture;
protected Scene mMainScene;
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
@Override
public void onLoadComplete()
{
// TODO Auto-generated method stub
}
@Override
public Engine onLoadEngine()
{
this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));
}
@Override
public void onLoadResources()
{
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
this.mTexture = new BitmapTextureAtlas(64, 128, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
this.mPlayTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mTexture, this, "play.png", 0, 0);
this.mQuitTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mTexture, this, "quit.png", 0, 40);
this.mEngine.getTextureManager().loadTexture(this.mTexture);
}
@Override
public Scene onLoadScene()
{
this.mEngine.registerUpdateHandler(new FPSLogger());
this.mMainScene = new Scene();
this.mMainScene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
int play_x = (CAMERA_WIDTH + this.mPlayTexture.getWidth() )/2 ;
int play_y = (CAMERA_HEIGHT + this.mPlayTexture.getHeight())/2 - this.mPlayTexture.getHeight();
this.mPlaySprite = new Sprite( play_x, play_y, this.mPlayTexture);
int quit_x = (CAMERA_WIDTH + this.mQuitTexture.getWidth() )/2 ;
int quit_y = (CAMERA_HEIGHT + this.mQuitTexture.getHeight())/2 + this.mQuitTexture.getHeight();
this.mQuitSprite = new Sprite(quit_x, quit_y, this.mQuitTexture);
this.mMainScene.attachChild(mPlaySprite);
this.mMainScene.attachChild(mQuitSprite);
return this.mMainScene;
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}
(通常是良好缩进)
logCat 错误为
在 AssetBitMapTextureAtlasSource 中加载位图失败。资源路径:gfx/play.png
java.io.FileNoFoundException:gfx/play.png
但是我将 2 个图像放入文件夹中,然后将它们添加到项目中,就像我第一次尝试 andengine 时所做的那样(并且它有效)。所以我真的不明白问题出在哪里..
图像是用 gimp 创建的 2 个 png(一个是 57x36,另一个是 58x31)。
最佳答案
如果找不到文件,将抛出java.io.FileNoFoundException
- 因此除了引擎找不到图像之外没有其他可能性。
确保您的图像位于:assets/gfx/
中,而不仅仅是位于名为 gfx/
的文件夹中。
关于java - BitmapTextureAtlasTextureRegionFactory.createFromAsset 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7405929/
几个月前我看过 andengine,并且成功地利用它做了一些东西。现在我下载了最新版本,但我遇到了最简单的事情崩溃。这是我的代码 package francesco.mygame; import or
我是一名优秀的程序员,十分优秀!