最近我开始研究AndEngine.在这方面很难找到最新的文件/帮助材料.我正在尝试通过示例和源代码后设置背景图像.但由于某种原因,屏幕仍然是空白的.我无法找到与此相关的任何有用信息.这是代码:
public class AndEngineActivity extends BaseGameActivity {
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
private Camera mCamera;
private TextureRegion mBgTexture;
private BitmapTextureAtlas mBackgroundTexture;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public Engine onLoadEngine() {
// TODO Auto-generated method stub
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() { …
Run Code Online (Sandbox Code Playgroud) 我是Android开发的新手,在使用AndEngine时遇到了问题.我试图运行一个空的应用程序,但得到一个运行时错误,如下所示:
04-01 21:56:16.326: W/dalvikvm(280): Unable to resolve superclass of Lcom/MyApps/TestApp/TestAppActivity; (31)
04-01 21:56:16.326: W/dalvikvm(280): Link of class 'Lcom/MyApps/TestApp/TestAppActivity;' failed
04-01 21:56:16.336: D/AndroidRuntime(280): Shutting down VM
04-01 21:56:16.336: W/dalvikvm(280): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-01 21:56:16.376: E/AndroidRuntime(280): FATAL EXCEPTION: main
04-01 21:56:16.376: E/AndroidRuntime(280): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.MyApps.TestApp/com.MyApps.TestApp.TestAppActivity}: java.lang.ClassNotFoundException: com.MyApps.TestApp.TestAppActivity in loader dalvik.system.PathClassLoader[/data/app/com.MyApps.TestApp-1.apk]
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-01 21:56:16.376: E/AndroidRuntime(280): at android.os.Handler.dispatchMessage(Handler.java:99) …
Run Code Online (Sandbox Code Playgroud) 在我用AndEngine开发的游戏中,有很多精灵在跑来跑去.现在每个精灵都TouchArea
注册了一个场景,因为我在触摸时会显示一些关于精灵的信息.场景本身有一个OnSceneTouchListener
用于移动相机和缩放的场景.
我的问题是,每次用户移动摄像装置(由某处触摸显示屏和周围移动他的手指)的OnAreaTouched()
任何精灵的方法,那就是意外的手指下,被调用,当运动结束(指被解除) .我已经将触发事件限制在event.getAction()==UP
(在它被称为touchAreas的真正混乱之前),但这还不够.如果用户正在缩放或移动相机,则不应激活精灵touchAreas.
有什么方法可以区分OnAreaTouched
-event和OnSceneTouched
-event?哪一个被称为第一个,我可以压制另一个吗?
OnSceneTouched()
方法(简化):public boolean onSceneTouchEvent(Scene scene, final TouchEvent event) {
boolean isZooming = event.getMotionEvent().getPointerCount() >= 2;
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// REMEMBER FIRST TOUCHPOINT, TO KNOW IN WHICH DIRECTION TO MOVE
this.touchPoint = new Point(event.getMotionEvent().getX(), event.getMotionEvent().getY());
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
if (isZooming) {
// DO SOME ZOOM STUFF
} else {
// DO SOME MOVEMENT STUFF
}
return …
Run Code Online (Sandbox Code Playgroud) 我正在使用AndEngine与PhysicsBox2DExtension制作游戏.我的游戏一直在崩溃,我在未经过滤的LogCat中得到了这个:
07-06 13:25:27.266: I/DEBUG(19582): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-06 13:25:27.266: I/DEBUG(19582): Build fingerprint: 'TMOUS/SGH-T959V/SGH-T959V/SGH-T959V:2.2.1/FROYO/VUVKD1:user/release-keys'
07-06 13:25:27.274: I/DEBUG(19582): pid: 22238, tid: 22263 >>> com.prattia.webs.testgfx5 <<<
07-06 13:25:27.274: I/DEBUG(19582): signal 11 (SIGSEGV), fault addr deadbaad
07-06 13:25:27.286: I/DEBUG(19582): r0 00000000 r1 afd14921 r2 00000027 r3 00000070
07-06 13:25:27.286: I/DEBUG(19582): r4 afd42328 r5 00000000 r6 00000000 r7 43095ba0
07-06 13:25:27.297: I/DEBUG(19582): r8 447d75ac r9 43095b5c 10 80aa23f4 fp 43095b58
07-06 13:25:27.297: …
Run Code Online (Sandbox Code Playgroud) 当我运行我的AndEngine程序并在我的手机上成功运行时,我在手机上收到这样的错误但是当我试图运行时,我收到的错误就像检测到固有的不兼容设备...
我的logcat在下面
10-16 14:13:23.061: E/AndroidRuntime(4533): FATAL EXCEPTION: GLThread 10
10-16 14:13:23.061: E/AndroidRuntime(4533): java.lang.ExceptionInInitializerError
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.vbo.attribute.VertexBufferObjectAttributeFix.glVertexAttribPointer(VertexBufferObjectAttributeFix.java:39)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.vbo.attribute.VertexBufferObjectAttributes.glVertexAttribPointers(VertexBufferObjectAttributes.java:50)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.shader.ShaderProgram.bind(ShaderProgram.java:126)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.shader.PositionTextureCoordinatesShaderProgram.bind(PositionTextureCoordinatesShaderProgram.java:86)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.vbo.VertexBufferObject.bind(VertexBufferObject.java:162)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.texture.TextureWarmUpVertexBufferObject.warmup(TextureWarmUpVertexBufferObject.java:97)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:257)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.engine.Engine.onDrawFrame(Engine.java:613)
10-16 14:13:23.061: E/AndroidRuntime(4533): at org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
10-16 14:13:23.061: E/AndroidRuntime(4533): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1332)
10-16 14:13:23.061: E/AndroidRuntime(4533): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)
10-16 14:13:23.061: E/AndroidRuntime(4533): Caused by: org.andengine.util.exception.AndEngineRuntimeException: Inherently incompatible device detected.
10-16 14:13:23.061: …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用AndEngine教程在android中制作简单的游戏
现在当我运行项目时,我得到错误,说java.lang.IllegalArgumentException:找不到EGLConfig!
TowerOfHanoiActivity.java
public class TowerOfHanoiActivity extends SimpleBaseGameActivity {
private static int CAMERA_WIDTH = 800;
private static int CAMERA_HEIGHT = 480;
private ITextureRegion mBackgroundTextureRegion, mTowerTextureRegion,
mRing1, mRing2, mRing3;
@Override
public EngineOptions onCreateEngineOptions() {
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
}
@Override
protected void onCreateResources() {
try {
// 1 - Set up bitmap textures
ITexture backgroundTexture = new BitmapTexture(
this.getTextureManager(), new IInputStreamOpener() {
@Override
public InputStream …
Run Code Online (Sandbox Code Playgroud) 是AndEngine的新手.虽然从工作一AndEngine教程,都没有发现下面的类.我尝试从AndEngine导入所有库但仍未找到类.
课程是:
SimpleLevelLoader
EntityLoader
SimpleLevelEntityLoaderData
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题.
我正在做一个非常简单的应用程序,一个测试AndEngine的基本hello世界,我在运行它时遇到了一些问题:我将我的模拟器属性设置为RealMayo在他的视频中建议它应该可以工作但是我得到了这个错误而不是
07-23 13:10:23.014: E/AndroidRuntime(1485): java.lang.IllegalArgumentException: No EGLConfig found!
Run Code Online (Sandbox Code Playgroud)
任何人都遇到过相同的情况,或者可能知道如何解决它?
我几乎不想让我们成为AndEngine ...因为一个简单的应用程序真的很难运行.
注意:我发现了一些帖子,但它们至少有3个月的历史,并且不久前修复了模拟器的使用.
无论如何谢谢!:)
我正在尝试将精灵附加到另一个精灵并将其附加到其父级后面.
这通常很容易,我之前在我的代码中只有一个 - 但由于某种原因,在一次实例中,它不起作用.
该过程通常是将父级的Z索引设置为某个数字,并为其子级分配较低的Z索引.这是代码,其中rect
是父级,icon
并附加到它; 两者都附加到父实体.然后我尝试了sortChildren()
所有方法(rect,父实体,甚至是场景本身); 我知道这不是很有效,但我只是想知道是否有东西可以抓住.它没有.icon
仍被吸引rect
:
for (int i=0; i<levelsList.size(); i++) {
rect = new Sprite(i*(width+padding),
0,
width,
height,
levelSelectorSquareRed,
this.getVertexBufferObjectManager());
icon = new Sprite((rect.getWidth()-innerWidth)/2f,
(rect.getHeight()-innerHeight)/2f,
innerWidth,
innerHeight,
levelIcons.get(i),
this.getVertexBufferObjectManager());
rect.setZIndex(1);
icon.setZIndex(0);
rect.attachChild(icon);
rect.sortChildren();
levelSquares.attachChild(rect);
}
levelSquares.setPosition(0, (CAMERA_HEIGHT-height)/2f);
levelSquares.sortChildren();
levelSelectorScene.attachChild(levelSquares);
levelSelectorScene.sortChildren();
Run Code Online (Sandbox Code Playgroud)
从逻辑上讲,这应该是矫枉过正并让它运作,但它不是/我错过了什么?
谢谢
在我的情况下,我没有使用RenderSurfaceView.我想拍摄我的场景的屏幕截图.但是当我保存屏幕截图时,它会显示倒置的镜像.不能理解我在这里做错了什么.
这是我的代码
attachChild(screenCapture);
share_clicked = 1;
final int viewWidth = (int)camera.getWidth();
final int viewHeight = (int)camera.getHeight();
Log.d("camera width", "View width :" + viewWidth);
Log.d("camera height", "View height :" + viewHeight);
File direct = new File(
Environment.getExternalStorageDirectory()
+ "/Word");
if (!direct.exists()) {
if (direct.mkdir())
; // directory is created;
}
screenCapture.capture(
viewWidth,
viewHeight,
direct.getAbsolutePath() + "/word"
+ System.currentTimeMillis() + ".png",
new IScreenCaptureCallback() {
public void onScreenCaptured(
final String pFilePath) {
activity
.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(
activity,
"Image …
Run Code Online (Sandbox Code Playgroud) andengine ×10
android ×9
java ×3
box2d ×1
crash ×1
game-engine ×1
libc ×1
screenshot ×1
sprite ×1
z-index ×1