libgdx에서 충돌과 공을 사용하여 무작위 및 무한 벽을 만드는 방법은 무엇입니까?

user3023512

저는 Android 게임 개발을 처음 접했지만 표준 애플리케이션 개발에 대한 경험이 있습니다.

제가 만들고 싶은 것은 학습 목적의 "TutorialGame"입니다. 이 게임은 https://goo.gl/ywawt5 와 비슷 하지만 플레이어는 닌자가 아닌 공일뿐입니다. 그리고 적이나 다른 것은 없습니다. 이유없이 좌우로 점프하는 것뿐입니다. 내가 말했듯이 그것은 단지 코드를 배우기위한 것입니다!

LIBGDX의 ShapeRenderer로 작은 공을 만들기 시작했습니다.

    shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
    shapeRenderer.circle(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, Gdx.graphics.getWidth() / 20);
    shapeRenderer.setColor(1,0,0,1);
    shapeRenderer.end();

문제는 지금이 아닙니다. 이것이 이와 같은 것으로 시작하는 올바른 방법일까요? 나는 circle과 body와 같은 LIBGDX의 다른 클래스에 대해 읽었지만 실제로 그것에 대한 튜토리얼이 없으며 초보자이기 때문에 여기서 어떤 클래스를 사용 해야하는지 실제로 알지 못합니다. 물론 나중에 무한한 벽이 필요하고 벽과 공 모두 충돌이 있어야하지만 (그렇게 생각합니까?) 실제로 어떻게해야하는지 모르겠습니다.

LIBGDX를 좀 더 이해하는 데 도움이되는 답변에 감사드립니다. 미리 감사드립니다!

케빈 워크맨

문제를 더 작은 개별 단계로 나누어야합니다.

먼저 그림을 작동 시키십시오. ShapeRenderer를 사용하는 것이 맞으며 해당 클래스 (및 기타 여러 클래스)를 사용하는 방법에 대한 자세한 정보 는 libGDX APIlibGDX wiki 에서 찾을 수 있습니다 . 화면 중앙에 원을 그릴 수 있나요?

그림이 작동하면 애니메이션에 대해 걱정하십시오. 원이 화면 주위로 튀도록 만들 수 있습니까? 원이 화면 가장자리에 닿았을 때를 파악하기 위해 매우 기본적인 if 문을 사용할 수 있으며, 동일한 논리를 사용하여 화면 양쪽에 "벽"을 추가 할 수 있습니다. 여기에는 Box2D가 실제로 필요하지 않습니다.

이렇게 생각해보세요. 실제로 무한한 벽이 필요하지 않습니다. 그저 자신처럼 보이게 만들어야합니다. 화면 양쪽에 벽 장식을 그려서 각 프레임을 조금씩 아래로 이동하면됩니다.

당신이 그것에 대해 물었 기 때문에 Circle 클래스는 단순히 위치와 반경과 같은 원에 대한 정보를 보유하는 클래스입니다. 이 클래스에는 원이 원과 교차하는지, 점을 포함하는지 여부를 테스트하는 함수도 포함되어 있습니다. 따라서이 클래스를 다른 코드와 함께 사용할 있지만 반드시 그럴 필요는 없습니다.

마찬가지로 CircleShape 클래스는 libGDX와 함께 제공되는 물리 엔진 인 Box2D와 함께 작동하는 또 다른 클래스입니다. 결국 Box2D를 사용할 수도 있지만 기본이 작동 할 때까지는 사용하지 않는 것이 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

libGDX / Box2D에서 공격 충돌을 수행하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

SpriteKit을 사용하여 벽을 만드는 방법은 무엇입니까?

분류에서Dev

CentOS 7에서 방화벽을 사용하여 UFW를 작동시키는 방법은 무엇입니까?

분류에서Dev

XSLT 및 javascript를 사용하여 XML에서 HTML을 만드는 방법은 무엇입니까?

분류에서Dev

Angular 2를 사용한 Jade / Pug-# 구문과의 충돌을 해결하는 방법은 무엇입니까?

분류에서Dev

flutter에서 injectionable 및 get_it과 공유 환경 설정을 사용하는 방법은 무엇입니까?

분류에서Dev

R에서`ggdraw` 및`plot_grid ()`를 사용하여 플롯 배열에서 X 및 Y 축에 공통 제목을 만드는 방법은 무엇입니까?

분류에서Dev

QpropertyAnimation을 사용하여 SlideIn 및 SlideOut 효과를 만드는 방법은 무엇입니까?

분류에서Dev

구형 물체 및 삼각형 지형에 대한 효율적인 충돌 감지 및 응답을 제공하는 방법은 무엇입니까?

분류에서Dev

ACL 권한을 사용하여 프로그래밍 방식으로 aem6.2에서 사용자 및 그룹을 만드는 방법은 무엇입니까?

분류에서Dev

andengine에서 가속 충돌을 만드는 방법은 무엇입니까?

분류에서Dev

Ansible을 사용하여 방화벽 서비스를 다시로드하는 방법은 무엇입니까?

분류에서Dev

Windows Powershell을 사용하여 Cisco ASA 방화벽에 SSH를 사용하는 방법은 무엇입니까?

분류에서Dev

명령 줄을 사용하여 Atom에서 파일과 폴더를 만드는 방법은 무엇입니까?

분류에서Dev

MySQL 및 PHP를 사용하여 여러 검색 결과에 대한 페이지 매김 작업을 수행하는 방법은 무엇입니까?

분류에서Dev

RoboVM 및 LibGDX에서 바인딩을 사용하는 방법은 무엇입니까?

분류에서Dev

Laravel 공장, 유지 관리 및 여전히 Faker 파사드에 대한 사용자 정의 값 목록을 사용하는 방법은 무엇입니까?

분류에서Dev

MSYS2 및 MingW를 사용하여 빌드 한 프로그램을 최종 사용자에게 제공하는 올바른 방법은 무엇입니까?

분류에서Dev

DataGridViewComboBoxColumn을 사용하는 DataSource 및 열을 사용하여 DataGridView를 만드는 방법은 무엇입니까?

분류에서Dev

listchars에서 여러 공백을 사용하는 방법은 무엇입니까?

분류에서Dev

jquery를 사용하여 텍스트 상자에서 선행 및 후행 공백 사용을 제한하는 방법은 무엇입니까?

분류에서Dev

Angular 6을 사용하여 json에서 복잡한 테이블을 만드는 방법은 무엇입니까?

분류에서Dev

Crossfilter 및 dc.js를 사용하여 x 축 범위 그룹을 만드는 방법은 무엇입니까?

분류에서Dev

Liferay 및 JavaScript를 사용하여 여러 파일에 대한 다운로드 버튼을 만드는 방법은 무엇입니까?

분류에서Dev

Apache, Passenger 및 Rails를 사용하여 API 하위 도메인을 제공하는 방법은 무엇입니까?

분류에서Dev

동일한 산점도에서 geom_vline () 및 geom_hline을 사용하여 범례에서 교차 효과를 피하는 방법은 무엇입니까?

분류에서Dev

runif 및 rnorm을 올바르게 사용하여 변수에 대한 방정식을 만드는 방법은 무엇입니까?

분류에서Dev

R에서 ggplot2를 사용하여 비슷한 플롯을 만드는 방법은 무엇입니까?

분류에서Dev

Eclipse Kepler에서 WindowBuilder 코어를 사용하여 간단한 창을 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    libGDX / Box2D에서 공격 충돌을 수행하는 가장 좋은 방법은 무엇입니까?

  2. 2

    SpriteKit을 사용하여 벽을 만드는 방법은 무엇입니까?

  3. 3

    CentOS 7에서 방화벽을 사용하여 UFW를 작동시키는 방법은 무엇입니까?

  4. 4

    XSLT 및 javascript를 사용하여 XML에서 HTML을 만드는 방법은 무엇입니까?

  5. 5

    Angular 2를 사용한 Jade / Pug-# 구문과의 충돌을 해결하는 방법은 무엇입니까?

  6. 6

    flutter에서 injectionable 및 get_it과 공유 환경 설정을 사용하는 방법은 무엇입니까?

  7. 7

    R에서`ggdraw` 및`plot_grid ()`를 사용하여 플롯 배열에서 X 및 Y 축에 공통 제목을 만드는 방법은 무엇입니까?

  8. 8

    QpropertyAnimation을 사용하여 SlideIn 및 SlideOut 효과를 만드는 방법은 무엇입니까?

  9. 9

    구형 물체 및 삼각형 지형에 대한 효율적인 충돌 감지 및 응답을 제공하는 방법은 무엇입니까?

  10. 10

    ACL 권한을 사용하여 프로그래밍 방식으로 aem6.2에서 사용자 및 그룹을 만드는 방법은 무엇입니까?

  11. 11

    andengine에서 가속 충돌을 만드는 방법은 무엇입니까?

  12. 12

    Ansible을 사용하여 방화벽 서비스를 다시로드하는 방법은 무엇입니까?

  13. 13

    Windows Powershell을 사용하여 Cisco ASA 방화벽에 SSH를 사용하는 방법은 무엇입니까?

  14. 14

    명령 줄을 사용하여 Atom에서 파일과 폴더를 만드는 방법은 무엇입니까?

  15. 15

    MySQL 및 PHP를 사용하여 여러 검색 결과에 대한 페이지 매김 작업을 수행하는 방법은 무엇입니까?

  16. 16

    RoboVM 및 LibGDX에서 바인딩을 사용하는 방법은 무엇입니까?

  17. 17

    Laravel 공장, 유지 관리 및 여전히 Faker 파사드에 대한 사용자 정의 값 목록을 사용하는 방법은 무엇입니까?

  18. 18

    MSYS2 및 MingW를 사용하여 빌드 한 프로그램을 최종 사용자에게 제공하는 올바른 방법은 무엇입니까?

  19. 19

    DataGridViewComboBoxColumn을 사용하는 DataSource 및 열을 사용하여 DataGridView를 만드는 방법은 무엇입니까?

  20. 20

    listchars에서 여러 공백을 사용하는 방법은 무엇입니까?

  21. 21

    jquery를 사용하여 텍스트 상자에서 선행 및 후행 공백 사용을 제한하는 방법은 무엇입니까?

  22. 22

    Angular 6을 사용하여 json에서 복잡한 테이블을 만드는 방법은 무엇입니까?

  23. 23

    Crossfilter 및 dc.js를 사용하여 x 축 범위 그룹을 만드는 방법은 무엇입니까?

  24. 24

    Liferay 및 JavaScript를 사용하여 여러 파일에 대한 다운로드 버튼을 만드는 방법은 무엇입니까?

  25. 25

    Apache, Passenger 및 Rails를 사용하여 API 하위 도메인을 제공하는 방법은 무엇입니까?

  26. 26

    동일한 산점도에서 geom_vline () 및 geom_hline을 사용하여 범례에서 교차 효과를 피하는 방법은 무엇입니까?

  27. 27

    runif 및 rnorm을 올바르게 사용하여 변수에 대한 방정식을 만드는 방법은 무엇입니까?

  28. 28

    R에서 ggplot2를 사용하여 비슷한 플롯을 만드는 방법은 무엇입니까?

  29. 29

    Eclipse Kepler에서 WindowBuilder 코어를 사용하여 간단한 창을 만드는 방법은 무엇입니까?

뜨겁다태그

보관