Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

칠리설탕의 it

[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 3장 주사위 게임 작성하기 본문

모바일프로그래밍

[그림으로 쉽게 설명하는 안드로이드 프로그래밍] 3장 주사위 게임 작성하기

chillisugar 2024. 9. 23. 21:06

안녕하세요. 오늘은 [그림으로 쉽게 설명하는 안드로이드 프로그래밍] 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코드입니다!