2014-11-21 2 views
-6

Я использую libgdx в eclipse, и я стал новым для разработки игр. im следуя некоторым базовым учебникам, поэтому я не знаю, что такое моя ошибка. Кто-нибудь может мне помочь? Валькирия - это название проекта. вот код:К сожалению (приложение) остановлено

Валькирия-ядро: Valkyrie.java:

package com.valkyrie.game; 

import com.badlogic.gdx.ApplicationAdapter; 
import com.badlogic.gdx.Game; 
import com.badlogic.gdx.Gdx; 
import com.badlogic.gdx.InputProcessor; 
import com.badlogic.gdx.graphics.GL20; 
import com.badlogic.gdx.graphics.Texture; 
import com.badlogic.gdx.graphics.g2d.SpriteBatch; 
import com.valkyrie.game.screens.Play; 

public class Valkyrie extends Game { 
SpriteBatch batch; 
Texture img; 

@Override 
public void create() { 
    setScreen(new Play()); 
} 
public void dispose() 
{ 
    super.dispose(); 
} 

@Override 
public void render() { 
    super.render(); 
} 
public void resize(int width, int height) 
{ 
    super.resize(width, height); 
} 
public void pause() 
{ 
    super.pause(); 
} 
public void resume() 
{ 
    super.resume(); 
} 
} 

и для класса Play.java

package com.valkyrie.game.screens; 

import com.badlogic.gdx.Gdx; 
import com.badlogic.gdx.Screen; 
import com.badlogic.gdx.graphics.GL20; 
import com.badlogic.gdx.graphics.OrthographicCamera; 
import com.badlogic.gdx.maps.tiled.TiledMap; 
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; 
import com.badlogic.gdx.maps.tiled.TmxMapLoader; 

public class Play implements Screen { 
private TiledMap map; 
private OrthogonalTiledMapRenderer renderer; 
private OrthographicCamera camera;; 

@Override 
public void render(float delta) { 
    Gdx.gl.glClearColor(1, 0, 0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
    renderer.setView(camera); 
    renderer.render(); 

} 

@Override 
public void resize(int width, int height) { 
    camera.viewportWidth = width; 
    camera.viewportHeight = height; 
    camera.update(); 

} 

@Override 
public void show() { 

    map = new TmxMapLoader().load("forest1.tmx"); 
    renderer = new OrthogonalTiledMapRenderer(map); 
    camera = new OrthographicCamera(); 

} 

@Override 
public void hide() { 
    dispose(); 

} 

@Override 
public void pause() { 
    // TODO Auto-generated method stub 

} 

@Override 
public void resume() { 
    // TODO Auto-generated method stub 

} 

@Override 
public void dispose() { 
    map.dispose(); 
    renderer.dispose(); 

} 

} 

StackTrace консоли:

11-21 16:26:14.879: D/dalvikvm(1002): Trying to load lib /data/data/com.valkyrie.game.android/lib/libgdx.so 0xa6adcf20 
11-21 16:26:14.887: D/dalvikvm(1002): Added shared lib /data/data/com.valkyrie.game.android/lib/libgdx.so 0xa6adcf20 
11-21 16:26:14.887: D/dalvikvm(1002): No JNI_OnLoad found in /data/data/com.valkyrie.game.android/lib/libgdx.so 0xa6adcf20, skipping init 
11-21 16:26:14.891: D/libEGL(1002): loaded /system/lib/egl/libEGL_genymotion.so 
11-21 16:26:14.895: D/(1002): HostConnection::get() New Host Connection established 0xb811cf60, tid 1002 
11-21 16:26:14.903: D/libEGL(1002): loaded /system/lib/egl/libGLESv1_CM_genymotion.so 
11-21 16:26:14.903: D/libEGL(1002): loaded /system/lib/egl/libGLESv2_genymotion.so 
11-21 16:26:14.915: I/AndroidInput(1002): sensor listener setup 
11-21 16:26:15.003: W/EGL_genymotion(1002): eglSurfaceAttrib not implemented 
11-21 16:26:15.007: D/OpenGLRenderer(1002): Enabling debug mode 0 
11-21 16:26:15.023: D/(1002): HostConnection::get() New Host Connection established 0xb80e4fc0, tid 1015 
11-21 16:26:15.027: W/GL2JNIView(1002): creating OpenGL ES 2.0 context 
11-21 16:26:15.095: D/dalvikvm(1002): Trying to load lib /data/data/com.valkyrie.game.android/lib/libgdx.so 0xa6adcf20 
11-21 16:26:15.095: D/dalvikvm(1002): Shared lib '/data/data/com.valkyrie.game.android/lib/libgdx.so' already loaded in same CL 0xa6adcf20 
11-21 16:26:15.095: I/GL2(1002): all initialized 2 
11-21 16:26:15.095: I/AndroidGraphics(1002): OGL renderer: Android Emulator OpenGL ES Translator (GeForce GT 750M/PCIe/SSE2) 
11-21 16:26:15.095: I/AndroidGraphics(1002): OGL vendor: Google (NVIDIA Corporation) 
11-21 16:26:15.095: I/AndroidGraphics(1002): OGL version: OpenGL ES 2.0 (4.4.0 NVIDIA 344.65) 
11-21 16:26:15.095: I/AndroidGraphics(1002): OGL extensions: GL_EXT_debug_marker GL_OES_EGL_image GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float 
11-21 16:26:15.095: E/EGL_genymotion(1002): [getAttribValue] Bad attribute idx 
11-21 16:26:15.095: E/EGL_genymotion(1002): tid 1015: eglGetConfigAttrib(575): error 0x3004 (EGL_BAD_ATTRIBUTE) 
11-21 16:26:15.095: E/EGL_genymotion(1002): [getAttribValue] Bad attribute idx 
11-21 16:26:15.095: E/EGL_genymotion(1002): tid 1015: eglGetConfigAttrib(575): error 0x3004 (EGL_BAD_ATTRIBUTE) 
11-21 16:26:15.095: I/AndroidGraphics(1002): framebuffer: (5, 6, 5, 0) 
11-21 16:26:15.095: I/AndroidGraphics(1002): depthbuffer: (24) 
11-21 16:26:15.095: I/AndroidGraphics(1002): stencilbuffer: (0) 
11-21 16:26:15.095: I/AndroidGraphics(1002): samples: (0) 
11-21 16:26:15.095: I/AndroidGraphics(1002): coverage sampling: (false) 
11-21 16:26:15.095: I/AndroidGraphics(1002): Managed meshes/app: { } 
11-21 16:26:15.099: I/AndroidGraphics(1002): Managed textures/app: { } 
11-21 16:26:15.099: I/AndroidGraphics(1002): Managed shaders/app: { } 
11-21 16:26:15.099: I/AndroidGraphics(1002): Managed buffers/app: { } 
11-21 16:26:15.119: W/dalvikvm(1002): threadid=10: thread exiting with uncaught exception (group=0xa630b288) 
11-21 16:26:15.119: E/AndroidRuntime(1002): FATAL EXCEPTION: GLThread 89 
11-21 16:26:15.119: E/AndroidRuntime(1002): com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: map for game/pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.Texture.load(Texture.java:130) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:121) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:96) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:119) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:104) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.valkyrie.game.screens.Play.show(Play.java:36) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.Game.setScreen(Game.java:61) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.valkyrie.game.Valkyrie.create(Valkyrie.java:18) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:237) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 
11-21 16:26:15.119: E/AndroidRuntime(1002): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: map for game/pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png (Internal) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:77) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  ... 13 more 
11-21 16:26:15.119: E/AndroidRuntime(1002): Caused by: java.io.FileNotFoundException: map for game/pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at android.content.res.AssetManager.openAsset(Native Method) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at android.content.res.AssetManager.open(AssetManager.java:315) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at android.content.res.AssetManager.open(AssetManager.java:289) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:75) 
11-21 16:26:15.119: E/AndroidRuntime(1002):  ... 15 more 
11-21 16:26:15.171: I/AndroidInput(1002): sensor listener tear down 
11-21 16:26:15.171: I/AndroidGraphics(1002): Managed meshes/app: { } 
11-21 16:26:15.171: I/AndroidGraphics(1002): Managed textures/app: { } 
11-21 16:26:15.171: I/AndroidGraphics(1002): Managed shaders/app: { } 
11-21 16:26:15.171: I/AndroidGraphics(1002): Managed buffers/app: { } 

когда Я хочу запустить его на Android, я должен сделать это на Valkyrie-андроиде? но каждый раз, когда я запускаю его, он всегда останавливается, и я понятия не имею.

+3

Приложение не будет терпеть крах «молча», поэтому, пожалуйста, получите Stacktrace из-за произошедшего исключения и опубликуйте его здесь (в вопросе, а не в комментариях). – Tom

+0

@ То, что я только что опубликовал весь стек. Я не знаю, как решить проблему. –

+0

@ Селвин все еще не может решить мою проблему. Не знаю, как отлаживать с помощью stacktrace –

ответ

-1

Видимо отсутствует этот файл: игры/pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png

читать ошибку строки: com.badlogic.gdx.utils.GdxRuntimeException: Не удалось загрузить файл: карты для игры/pokemon_tileset_from_public_tiles_by_chaoticcherrycake- d5xdb0y.png

-1

Если единственное, что загружается в ваш проект, что вы видите в классах, я думаю, вы можете посмотреть на файл tmx.

пример TMX файл:

<?xml version="1.0" encoding="UTF-8"?> 
<map version="1.0" orientation="orthogonal" width="27" height="19" tilewidth="32" tileheight="32"> 
<tileset firstgid="1" name="MoldeTileSet" tilewidth="32" tileheight="32"> 
    <image source="../Path/PathTileSet.png" width="1024" height="1024"/> 
    <tile id="172"> 

взгляд на этой линии:

<image source="../Path/PathTileSet.png" width="1024" height="1024"/> 

Если имя, которое отображается в стеке, убедитесь, что у вас есть файл в соответствующем каталоге вашего андроида проекта и начнется настройка несоответствия, и я надеюсь хорошо объяснить

пример:

<image source="game/pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png" width="1024" height="1024"/> 

Это просто идея, где я могу думать, что может быть ошибка, которую вы показать

Новое:

если вы скопировали в ту же папку, файл TMX, файл TMX и открывает линия:

<image source="game/pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png" width="1024" height="1024"/> 

где появляется файл и изменить это оставляет только пример nombre.png

<image source="pokemon_tileset_from_public_tiles_by_chaoticcherrycake-d5xdb0y.png" width="1024" height="1024"/> 

, когда вы вносите изменения, обновляет каталог или перезапускает IDE

+0

Я думаю, что моя проблема в том, что у меня есть два набора плиток (.png), который я просто поместил в папку с файлом вместе с файлом tmx. Я использовал два файла png для создания одного tmx. так мне нужно удалить один таймер? –