안드로이드를위한 프로그래밍 게임

안드로이드를위한 프로그래밍 게임 39: 화면 이상 게임

42 동영상

238 의사록

지금 당신은 우리의 게임이 작동하지만, 우리가 잃어버린 것을 우리에게 말해 피드백이없는 볼과 같이 디스플레이는 이상 게임이 표시됩니다은, 우리는 화면에 표시되는 동안하지만 그 게임 때문에 거기, 우리는 콘솔에서 볼하는 게임이 아니다. 우리에게 게임을 알 수있는 방법이 좋을 것이다 이제 더 때문에 게임을 다시 시작하는 버튼이있을 때까지 우리는 분명하다 있도록 상실하고있다. 나는 화면을 작성합니다

보조는 메시지와 버튼이 표시됩니다 동안 내가 게임을 호출하는이 메인 화면으로 돌아갑니다 후. 나는 새로운 화면을 만듭니다 우리가 보았 듯이 지금까지 조용히 GameOverScreen라고하고,이 화면은 버튼 게임 오버 넣어 메시지를 표시합니다. 나는,이 디자인이 메시지는이 사진하지만 어떤 버튼에 대해입니까? 나는 Scene2D 생성하는 역할을 Scene2D UI라는 모듈이 있으며, 의미

사용자 인터페이스. 이들은 배우와 같은 사용자가 생각할 수있는 버튼, 텍스트 라벨, 체크 박스 등의 사용자 인터페이스의 전형적인 요소이다. Scene2D UI함으로써 우리는 바퀴를 재발견 할 필요없이이 일을 추가 할 수 있습니다. 우리는 스타일을 제공 할 수있는 방법이 필요합니다. 내가 스킨을 사용하지만 우리는 스타일로 수동으로이 작업을 수행 할 수 있습니다. 나는 스킨을 사용합니다 그리고 그것은 저장소에서 찾을 수 libgdx의 공식 스킨을 사용합니다,

이는 동영상의 설명이다. 피부의 임무 Scene2D을 사용하여 서로 다른 UI 위젯 자원을 포함한다. 여기 내가 가진 참조 버튼, 드롭 다운, 체크 박스, 이하 mases의 자원 ... 버튼을 눌러 번호를 변경합니다. 그는 편지를 작성하는 편지를 가지고있다. 누가이 잘라 것인가? Libgdx 인하는 이미 우리가 스킨 클래스를 사용하여 가정. 나는 BaseScreen 유형의 GameOverScreen을 만들 수 있습니다. 당신은 단계를해야합니다,

하지만 아무것도 할 수 없습니다. 아무것도, 피부 스타일을 표현하기 위해 촬영 된 이미지는 GameOver을 표현하고, 클래스 인 TEXTBUTTON이있을 것이다 이는 심지어 텍스트를 누를 수있는 버튼을 만들어 다룬다. 나는 스테이지 생각합니다. 나는 피부, 나는 빌더 스킨을 사용할 필요가 있다고 생각, 나는 .json으로 끝나는되는 파일 핸들 내 피부 파일을 전달합니다. 나는 파일 핸들로 전달할 : Gdx.files.internal ()는 우리가 원하는 것을 나타 내기 위해서 (때문에)

자산 폴더 내부 파일을 사용합니다. 그는 필요한 자원이 번역 및 획득을 다루는, 그래서 유일한 방법을 알고 이미 메인로드 모든 액세스는 아무 일도 발생하지 않습니다. 지금 내가 할 것은 MainGame가 GameOver에, 관리자에 부하를 넣어 것을 내 이미지 GameOver를 만드는 것입니다. 그래서 GameOver 새로운 이미지, 질감이에 쓰고, 나는이 이미지를 사용하고 싶은 말은. UI는 이미지가 배우로 텍스처를 보여 Scene2D

그래서 이동 및 조작 될 수있다. 그들은 정말, 매우 다양한 있습니다. 나는 Game.Manager.Get (GameOver.png)라고하고, 때까지 때문에 불평 그것은 질감 또는 뭔가 다른인지 알 수없는 변수에 할당, 그래서 전체 클래스의 수 관리자를 강제로 매개 변수를 전달합니다, 예를 Texture.class합니다. 수입을 할 때 따라서,이 방법 내에서 질감의 문제를 포기하지 왜 질감으로 나뭇잎.

마지막으로 나는 새로운 TEXTBUTTON로 버튼을 만들 수 있습니다. 첫 번째 매개 변수로, 나는 두 번째 매개 변수 피부로 텍스트 레이블을 전달합니다. 지금 내가 할거야 것은 쇼 ()에서,이 표시됩니다. 나는 단순히 gameOver.setPosition 같은 특정 위치에 화면에 넣어 (). 항상 같은 사이트, 수평 절반이 될 것입니다 때문에 내가 생성자에서 여기에서 할 수 있습니다. 재시도로서,

나는에 200x100 버튼 크기가 큰 수 있도록하고,이 중앙에 오도록 내가, 위치 (220.50)에 넣어 것입니다 제공합니다. 같은 때문에 표시 할 필요가 없습니다 나는 그것을 모두 추가를 제외하고 수행이, 다른 아무 일도 발생하지 않습니다. 다만 경우에 나는 처분 () 스테이지에서 처분 ()를 할 필요합니다. GameOver하지 disposea, 텍스처가 아래 때문입니다. 렌더링하는 바와 같이, 그래, 내가 필요한 것은 그렇게 나는 부끄럼없이 사용되는 코드를 복사하여 스테이지에서 렌더링하는 것입니다

내가 장난을 기억하고 지금 stage.act ()와 stage.draw ()를 호출하지 않기 때문에, 화면을 취소합니다. 그리고 당신은 버튼을 가질 수 있도록 그 그것을 만들 참조 나는 업데이트되는 행동을한다. 마지막으로, 나는 순간적으로 GameOverScreen에 의해 GameScreen 교체하고 난 결과를 볼 실행하는 경우. 예상대로 그것은 그냥 때문에 잘못 여기에 수평 중앙에 있지 않습니다. 이것은 당신이 그것을 중심하려는 경우, 당신은 화면의 절반 폭에 넣어입니다 ...

텍스처의 절반 이상 폭. 이제 더 잘 보일 것입니다. 지금은 잘 작동합니다. 지금은 ... 버튼을 클릭하려고하면 비록하지 내 말을 들어. 왜? 내가 확인해야하기 때문에 Scene2D 및 입력 스테이지를 제어 할 버튼을 클릭하려고합니다. 우리는 볼 수 있습니다 이 작업을 수행하고이 작은 화면을 종료하는 방법.

새로운 코스를 찾으려면 가입. 아무 스팸 없을 것, 약속 :)

저자에 관하여

foto de jotajotavm
José Javier Villena

전기 : 다른 언어 분석 - 프로그래머. 교사 PREMIUM 플랫폼은 CodigoFacilito으로 세계적으로 인정. 에디터 Cristalab 기사. 내 YouTube 채널은 아나야와 LaTostadora 출판사가 후원한다. 나는 상세히 설명하고 의심의 소지를 없애기위한 몇 가지 예를주는 것을 좋아합니다.