2014-02-08 2 views
1

SOLVED !!! 비례 크기로 이미지가 보이지 않습니다. 예 : 64x64, 128x128libGDX는 흑백 화면 만 컴파일합니다.

기본 Hello World를 만들었으므로이 모든 것이 잘 컴파일되었지만 표시 할 기본 그래픽을 얻으려고하면 그만 검은 색으로 표시됩니다. 기본적으로 단어에 대한 자습서 단어를 따르고 여전히 이것을하고있는 것처럼 보입니다. 누구 아이디어?

package com.me.mygdxgame; 

import com.badlogic.gdx.ApplicationListener; 
import com.badlogic.gdx.Gdx; 
import com.badlogic.gdx.graphics.Color; 
import com.badlogic.gdx.graphics.GL10; 
import com.badlogic.gdx.graphics.OrthographicCamera; 
import com.badlogic.gdx.graphics.Texture; 
import com.badlogic.gdx.graphics.Texture.TextureFilter; 
import com.badlogic.gdx.graphics.g2d.BitmapFont; 
import com.badlogic.gdx.graphics.g2d.Sprite; 
import com.badlogic.gdx.graphics.g2d.SpriteBatch; 
import com.badlogic.gdx.graphics.g2d.TextureRegion; 

public class MyGdxGame implements ApplicationListener { 

SpriteBatch batch; 
BitmapFont font; 
Texture mario; 





    @Override 
    public void create() { 
     mario = new Texture(Gdx.files.internal("mario.jpeg")); 
     batch = new SpriteBatch(); 
     font = new BitmapFont(); 
     font.setColor(Color.CYAN); 
    } 

    @Override 
    public void dispose() { 
     batch.dispose(); 
     font.dispose(); 
    } 

    @Override 
    public void render() {  
     Gdx.gl.glClearColor(1, 1, 1, 1); 
     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

     batch.begin(); 
     batch.draw(mario, 200, 200); 
     batch.end(); 

    } 

    @Override 
    public void resize(int width, int height) { 
    } 

    @Override 
    public void pause() { 
    } 

    @Override 
    public void resume() { 
    } 
} 

오류 코드가 나타났습니다. 파일 이름이 정확합니다.

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/mario.png 
    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140) 
    at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64) 
    at com.badlogic.gdx.graphics.Texture.load(Texture.java:142) 
    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133) 
    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:112) 
    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:104) 
    at com.me.mygdxgame.MyGdxGame.create(MyGdxGame.java:30) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114) 
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: data/mario.png (Internal) 
    at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:133) 
    at com.badlogic.gdx.files.FileHandle.length(FileHandle.java:563) 
    at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:218) 
    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137) 
    ... 8 more 
+0

batch.draw (mario, 200, 200); 텍스처를 (200, 200)으로 렌더링합니다. 창 크기는 얼마나 큽니까? – noone

+0

창 크기가 640x480으로 설정되어 있습니다. – CodingNub

+0

mario.png 파일이 자산이 아니라 데이터 디렉토리에 있는지 확인하십시오. – Wazani

답변

3

에 의해 발생 : com.badlogic.gdx.utils.GdxRuntimeException : 파일을 찾을 수 없습니다 : 데이터/mario.png (내부)

그것은 이미지 "마리오를 찾을 수 없습니다. png "를 데이터 폴더에 저장합니다. 안드로이드 자산 폴더 (안드로이드 프로젝트 -> 자산 -> 데이터 -> mario.png)에 이미지가 있는지 확인하십시오.

스택 추적 (Big long error report thing)을 읽는 방법을 살펴보면 장래에 많은 시간을 절약 할 수 있습니다.

편집 : Here is link for you on stack-traces

+0

해당 폴더에 있으며 패키지 탐색기의 왼쪽에 자산> data_mario.png의 안드로이드와 데스크톱 모두에 표시됩니다. – CodingNub

+0

assets 폴더의 파일이 .png 또는 .jpeg입니까? 코드에서 .jpeg를 원하지만 오류는 .png라고 말합니다. –

+0

복사 한 코드가 잘못됨 = P 픽스가 이미지의 해상도가되었습니다. – CodingNub

2
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: data/mario.png (Internal) 

그는 mario.png를 찾을 수 없습니다. Assets 폴더를 사용하지 않으면 모든 리소스가 들어있는 다른 소스 폴더를 만드는 것이 좋습니다. 그런 다음 Gdx.input.classpath(String classpath)을 호출하여 경로를 하드 코드하지 않고 내 보낸 실제 .jar 파일을로드 할 수 있습니다.