2016-08-11 2 views
0

저는 Java, Android, LibGDX를 처음 사용합니다. 그래서 용서해 주신다면 용서해주십시오. 내가 원했던 것은, 화살이 보여 주듯이 주위를 빙빙 거리는 그 회색 물건 (심하게 그린 그림, 대포로 만든 그림) 때문입니다. 또한, 더 자연스러운 움직임을 얻기 위해 무엇을 사용할 수 있습니까? 예를 들어, 중력이 대포에 작용하는 것처럼, 측면으로 돌릴 때 가장 느리고 바닥을 향한 것처럼 가장 빠릅니다. 대포가 스윙을 계속하고 기세를 잃지 않도록하기 위해 무엇을 사용할 수 있습니까? 이것은 바보 같은 소리를 내기 시작할 수있는 곳입니다. 온라인 튜토리얼을 보았습니다. 그러나 게임을 만드는 특정 측면이 어떻게 작동하는지 완전히 이해하지 못했습니다. 내 Java 클래스 내에서 무엇을 만들어야합니까? 스프라이트 란 무엇이며 스프라이트를 만들어야합니까? 스프라이트 배치 란 무엇입니까? 나는 게임 상태 매니저 등등을 필요로하는 것과 같은 기초를 이해한다. 나는 대부분 spritebatch (또는 이와 비슷한 것) 렌더링과 같은 튜토리얼에서 거의 복사 한 것들이다. 아래 질문을 설명하는 간단한 자습서에 나를 연결할 수 있다면 많은 도움이 될 것입니다. 감사. enter image description hereLibGDX 포인트 이동 방법

답변

0

스프라이트 배치 란 무엇입니까?

우리는 프레임에 직사각형 구조에 매핑 텍스처를 많이 그리는하지만이의 SpriteBatch가하는 일입니다 drawn.So로 GPU를 한 번에 각 사각형 하나를 보낼 비효율적이다.

private SpriteBatch batch; 

public void create() { 
    batch = new SpriteBatch(); 
} 

public void render() { 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); // This cryptic line clears the screen. 
    batch.begin(); 
    // Drawing goes here! 
    batch.end(); 
} 

스프라이트가 무엇입니까

?

스프라이트 클래스가, 는 또한 everyframe 그릴 때 텍스처 CPU가 GPU에 데이터를 보내는 등 오프셋 질감과 색상, 각도 등의 일부 속성에 대해 설명합니다. 그러나 생성시 텍스처 데이터를 GPU로 보내고 필요한 경우 기하 도형이나 색상을 변경하는 스프라이트.

private Sprite sprite; 
texture = new Texture(Gdx.files.internal("image.png")); 
sprite = new Sprite(texture, 20, 20, 50, 50); 
sprite.setPosition(10, 10); 
sprite.setRotation(45); 
sprite.setCenter(25, 25); 
batch.begin(); 
sprite.draw(batch); 
batch.end(); 

귀하의 첫 번째 질문에 대한 답변도보실 수 있습니다. 당신은 동그라미 주위로 스프라이트를 easly 회전시킬 수 있습니다.

캐논이 흔들리지 않고 운동량을 잃지 않도록하려면 어떻게해야합니까?

box2d를 사용하거나 스윙 할 알고리즘을 직접 디자인 할 수 있습니다.

Java 클래스 내에서 무엇을 만들어야합니까?

답변을 얻으려면 객체 지향 프로그래밍을 배워야합니다. 여기

과 좋은 libgdx 튜토리얼을 http://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx

+0

안녕이다, 당신의 응답을 주셔서 감사합니다! 나는 포지션을 가진 대포 스프라이트를 만들었습니다. 다른 클래스 (내 playstate 클래스)에서 그 위치를 얻으려면 어떻게해야합니까? 내 playstate 클래스에서 batch.draw (cannon.getTexture,?,?)가 있지만 x 및 y 위치를 넣을 위치를 알지 못합니다. 내 대포 클래스에 getTexture 메서드가 있습니다. 내 대포 클래스에서 getPosition 메서드를 만들려면 어떻게 되겠습니까? .setPosition을 사용한 후에 스프라이트에서 위치를 얻으려면 어떻게해야합니까? –

+0

canon 클래스에서 공용 변수를 만들어야합니다. canon.x canon.y라고 부르세요. –