개발/게임 교육 29

[Unity class]게임 교육 17 - 미션 4

미션 3이 마우스였다면 미션 4는 키보드이다. 위와 같이 설정해주고 나머지 그림도 다 바꾼다. 버튼 삭제 후 백그라운드 사진 크기에 맞춰 캔슬 버튼 위치도 옮겨 주었다. 그리고 버튼 생성! 그리고 한번에 정리하기 위해 백그라운드를 ctrl + D하여 새로 만들어준 뒤 이름을 Numbers로 바꾼다. 그 안에 있는것 들은 다 지우고, numbers 사진 지우고, 투명도를 0으로 만든뒤 백그라운드 안에 넣고, number들을 안에 넣는다. 사진으로 보면 편할 것이다. 그리고 numbers에 하나만 추가해주면 번호들이 정리된다. 이거하나로 번호가 아래와 같이 된다. 그리고 이제 다 번호를 넣어준다. 다 넣어줬으면 미션 1을 ctrl + D 하여 복사해준뒤 클래스명을 후딱 4로 바꿔서 미션 4 스크립트를 시작한..

[Unity]게임 교육 16 - 미션 3

미션 3은 랩실에 있을 예정이므로 랩으로 옮겨준다, 배경도 바꿔주었고, 마우스 사진의 콜라이더도 닿을 수 있는 부분으로 오프셋 수정도 하였다. 그리고 복붙한거기 때문에 있는 스크립트도 삭제하여주고, 필요없는 버튼들 삭제 후 캔슬버튼 위치만 옮겨주었다. UI의 text에서 오른쪽과 같은 설정으로 두개를 만들고, 검은 색은 포스트잇 위에, 흰색은 계산기 번호 판에 적어준다. 사진이 명확해 보이지 않아 하나 추가해준다. 버튼 하나하나 수작업이다... 그 후 투명도를 전부 0으로 맞춰준다. 그리고 미션 1 스크립트를 복붙하여 미션 3스크립트로 만들어준다. 클래스명 바꾸는거 잊지 말기 using System.Collections; using System.Collections.Generic; using UnityE..

[Unity] 게임 교육 15.5 - 쓰레기 버리기 오류 발생!

쓰레기 버리기가 다 끝나도 게임이 끝나지 않는 오류가 발생한다. 여기 스크립트를 원래 스크립트에 추가해준다. //성공여부 체크 if (trash.childCount == 0) { MissionSuccess(); isPlay = false; rect_handle.anchoredPosition = originPos; isDrag = false; anim_shake.enabled = false; } 이러면 잘 작동한다. 오류 문은 밑에 열면 나온다. 더보기 [15강 쓰레기 버리기 미션 버그 해결 방법] 버그 내용 : 쓰레기 버리는 미션 진행 중, 핸들을 아래로 드래그하는 행동을 오랫동안 지속하면 드래그를 끝내도 핸들이 원상복귀 되지 않고, UI를 끌 수 없는 오류 버그 원인 : 핸들을 아래로 드래그하는 중에 ..

[Unity] 게임 교육 15 - 쓰레기 버리기 버튼 만들기

핸들을 당겨야 한다! using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class Mission2 : MonoBehaviour { public Transform trash,handle; Animator anim; PlayerCtrl playerCtrl_script; RectTransform rect_handle; bool isDrag; Vector2 originPos; // Start is called before the first frame update void Start() { //getcomponent..

[Unity] 게임 교육 14 - 미션 2

쓰레기 버리기 미션이다. 시야에 방해가 된다면 미션 1 옆에 체크 표시를 풀면 모습이 보이지 않는다. 그러나 나중에 실행할 때 꼭 풀어서 실행해야 오류가 발생하지 않는다.(애니메이션을 통해 밑으로 내려가 있는 것이라 생성할 코드를 만들지 않았음) 미션 1을 control + D를 눌러 복제한후 아래와 같이 미션 2를 만들어준다. 필요없는 버튼은 다 삭제! 스크립트도 삭제한다. 이제 다시 이미지 만들기 이제 쓰레기가 저 핸들을 내리기 전 까지 나가지 못하도록 콜라이드 설정을 배경에서 해줘야 한다. 교수님 호출로 나중에 다시... 2:14 박스 콜라이드를 통해 양쪽 벽을 만든다. 바닥은 BackGround에서 만들지 않고 새로운 곳에서 만들겠다.(레버를 내리면 바닥도 사라져야 하므로) 이제 이 안에 쓰레기를..

[Unity] 게임 교육 13 - 첫 번째 미션 만들기

버튼은 UI에 들어가면 있습니다. 위치는 적당히 위 그림 처럼 만들어 주세요 버튼을 눌러서 색을 변경하는 모션을 구현해 보겠다. mission1 script에서 구현하겠습니당. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class Mission1 : MonoBehaviour { public Color red; Animator anim; PlayerCtrl playerCtrl_script; // Start is called before the first frame update void Start() {..

[unity]게임 교육 12 - 미션 애니메이션 제작

미션을 눌렀을 때 나오는 애니메이션은 캐릭터 안에 버튼을 만들 것이다. 버튼은 아래와 같은 설정으로 만들어준다. 나중에 코드에서 on, off 할 것이다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; //UI를 선택한 것인지 그냥 움직인 것인지 확인 public class PlayerCtrl : MonoBehaviour { public GameObject joyStick, mainView, missionView; public Button btn; Animator anim; public float speed; pub..

게임 교육 11 - 미션 준비

메인 메뉴에서 미션을 누르면 미션으로 화면 전환 되는 것을 만든다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainMenu : MonoBehaviour { public GameObject missionView; // 게임 종료 버튼 누르면 호출 public void ClickQuit() { // 유니티 에디터 #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; // 안드로이드 #else Application.Quit(); #endif } // 미션 버튼 누르면 호출 public void ClickMission() {..

게임 교육 10 - 설정 화면

설정 화면은 캐릭터 관련이므로 캐릭터의 캠버스에 이미지를 만들어 준다. 그리고 우린 설정 화면에서 버튼을 만들어 줘야 한다. 버튼을 추가하면 자동으로 아래와 같이 택스트도 생긴다. overflow를 사용하여 글자가 커져서 사라지는 것을 방지한다. 여기서 글씨가 작다면 스케일을 움직이면 안된다. 스케일을 움직이면 깨지기 때문에 폰트를 통해서 조절해야 한다. 이로써 모든 설정 UI들이 완료되었다. 이제 기능을 구현해야 한다. 플레이어 관련이므로 플레이어 폴더 안에 넣는다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Settings : MonoBehaviour { public bool is..

게임 교육 9 - 오류 대처법

캐릭터 속도를 10으로 두면 캐릭터들이 콜라이드를 뚫고 넘나든다. 캐릭터의 속도가 충돌을 감지하는 것 보다 빠르기 때문이다. 이 경우에는 1. 속도를 줄인다. 2. 콜라이드의 두께를 넓힌다. collision Detection을 continuous로 바꾼다. 3. Edit -> project setting에서 게임 속도를 조절한다. (time -> Fixed Timestep를 낮춘다.) 스크립트에서 public로 변수 만들고서 유니티에 그 변수 넣어주지 않은 경우 각종 문법 오류 Animator를 component없이 스크립트에 적을경우 없는데 쓰려고 하지 말자! 모든 오류는 콘솔에서 자세하게 설명해준다.

728x90
728x90