칠리설탕의 it
[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 3장 주사위 게임 작성하기 본문
안녕하세요. 오늘은 [그림으로 쉽게 설명하는 안드로이드 프로그래밍] 3장 주사위 게임 작성하기 문제를 풀어보도록 하겠습니다.
주사위 게임은 "ROLL"버튼을 누르면 주사위가 굴려지고 화면에 주사위의 값을 나타내는 문제입니다.
문제이미지를 보면 Textview, Imageview, Button이 Center에서 일렬로 정렬이 되어있습니다. 따라서 android:gravity = "top|center_horizontal를 사용하여 중앙정렬을 해줍니다.
문제에서 봤을때 "ROLL"버튼을 누르면 애니메이션 효과를 통해 이미지가 움직여야 하기에 Imageview의 객체를 만들어 애니메이션 효과를 주도록 하겠습니다.
Random클래스의 인스턴스를 생성해준 후 이미지가 랜덤으로 움직일 각도를 360~720 사이로 난수를 받아줍니다.
RotateAnimation rotate = new RotateAnimation(0, diceDegree, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
위의 부분은 RotateAnimation클래스의 객체를 생성하고 객체는 0도부터 diceDegree까지 회전을하며 회전하는 객체의 가로길이*0.5, 세로길이*0.5 즉 이미지의 중심을 중심점으로 회전하는 것입니다.
rotate.setDuration(1000);
rotate.setRepeatCount(0);
diceImage.startAnimation(rotate);
위의 부분은 1000밀리초동안 애니메이션이 움직이고 rotate.setRepeatCount(0)을 통해 반복횟수는 0이고 diceImage에 애니메이션을 추가한다는 의미입니다.
이제 1부터 6까지 다시 난수를 받아 화면에 나타내야 하기에 Textview를 하나 만들고 android:visibility="invisible"를통해 시작화면에는 보이지 않지만 "ROLL"버튼을 누르면 결과값을 나타내는 Textview가 보이도록 설정했습니다.
이렇게 오늘은 주사위게임을 만들어보았습니다.
아래의 영상은 오늘 진행한 문제에 대한 결과 영상입니다.
감사합니다!
xml코드입니다!
java코드입니다!
'모바일프로그래밍' 카테고리의 다른 글
[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 6장 여러 페이지로 구성된 애플리케이션 작성 (2) | 2024.10.06 |
---|---|
[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 5장 할 일 목록 앱 만들기 (3) | 2024.10.05 |
[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 4장 계산기 앱 #3 작성 (4) | 2024.10.03 |
[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 3장 카운터 만들어보기 (5) | 2024.09.22 |