분류 전체보기 (176) 썸네일형 리스트형 4주차 내용정리 카메라를 조정하지 않고 객체의 배율을 조정하는 것으로도 해결할 수 있다. For 문을 통해 반복적인 역할을 줄 수 있다. C#이긴 해도 C/C++의 For문 구조와 다르지 않다. GameObject newCard = Instantiate(card); 를 이용하여 새로 만든 카드를 쥐어줄 수 있다. rtans = rtans.OrderBy(item => Random.Range(-1.0f, 1.0f)).ToArray(); OrderBy : 랜덤하게 정렬하겠다. item => item이면 0부터 섞어서 정렬 transition을 이용해 양방향 애니메이션을 만들 수 있다. oneCard 함수 // Animator isOpen = True anim.SetBool("isOpen", true); // Front set.. 3주차 내용정리 시작 씬 만들기 background를 만들 필요 없이 Camera를 조정해도 괜찮다. Scene을 넘어갈 때는 using UnityEngine.SceneManagement; public void GameStart() { SceneManager.LoadScene("MainScene"); } 로 구성해도 괜찮다. 밥 쏘기 pivot: UI가 늘어나거나 줄어들 때 어디를 기준으로 잡을 지 정하는 것 고양이 나타내기 HP바는 world space로 모델링을 해야 UI 를 불러올 수 있다. 충돌을 구현할 때 밥은 위로 향해야 하기 때문에 Rigidbody 2D의 Body Type을 Kinematic으로, Collider 2D의 is Trigger를 true로 설정한다. 레벨 구성하기 [ 문제 2가지 ] level.. 2주차 내용정리 PlayerPrefs : key, value의 Pair로 저장해야 한다. - 데이터 저장하기 PlayerPrefs.SetFloat("bestScore", 어떤 숫자 값); PlayerPrefs.SetString("bestScore", 어떤 문자 열); - 데이터 불러오기 어떤숫자값 = PlayerPrefs.getFloat("bestScore"); 어떤문자열 = PlayerPrefs.getString("bestScore"); - 데이터를 저장했었는지 확인 → 있으면 true 없으면 false를 반환 PlayerPrefs.HasKey("bestScore") - 데이터를 모두 지우기 PlayerPrefs.DeleteAll(); [ 최고 점수 보여주기 ] 1. 로직 생각하기 if (최고 점수가 없으면) { 최고.. 2주차 2강 풍선 & 마우스 만들기 풍선이 색깔이 바뀌는 것 = 애니메이션 Asset이 없어도 색깔, 사이즈, 포지션을 바꾸는 등으로 Animation을 만들 수 있다. 마우스 만들기 현재 마우스의 포지션을 읽으면 된다. public class shield : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position = new Vector3(mousePos.x, mousePos.y, 0); } } 1주차 8강 숙제 - 빨간 빗방울 만들기 맞으면 5점이 감점되는 빨간 빗방울을 만들어라!! rain.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class rain : MonoBehaviour { // Start is called before the first frame update int type; float size; int score; void Start() { float x = Random.Range(-2.7f, 2.7f); float y = Random.Range(3f, 5f); transform.position = new Vector3(x, y, 0); type = Random.Range(1, 5); if (type ==.. 1주차 7강 게임 끝내기 게임을 끝낸 팝업은 Canvas로 구현해야 한다. 시간이 흐르도록 하는 것은 gameManager의 역할이다. 1. 시간이 흐르게 하기 void Update() { limit -= Time.deltaTime; timeText.text = timeLimit.ToString("N2"); } 2. 멈추게 하기 void Update() { limit -= Time.deltaTime; if (limit < 0) { Time.timeScale = 0.0f; limit = 0.0f; } timeText.text = timeLimit.ToString("N2"); } gameManager에게 판넬을 쥐어줘야 한다. public GameObject panel; 로 받는다. 여기서 '끝? 다시?'를 누르면 초기화되어야 한다.. 1주차 6강 점수 올라가게 하기 Ground 부분에 점수 Board를 만들어야 한다. 점수, 남은 시간들을 남겨야 한다. UI는 Canvas라는 도화지 위에 그려지고, 카메라 위치와는 관계 없이 보여진다. - 버튼 / 텍스트 / 순위를 보여줄 때에만 써준다. 중요한 정보는 gameManage가 들고 있다. 하지만 빗방울을 맞았는지는 빗방울이나 캐릭터가 안다. 빗방울이나 캐릭터가 이 정보를 gameManager에게 알려준다. gameManager는 싱글톤이여야 한다.(하나만 생성되어야 한다.) addScore라는 함수를 만든다. public void addScore(int score) { totalScore += score; } 빗방울 입장에서 캐릭터에게 부딪힐 때 점수 더하라고 코드를 작성한다. if (coll.gameObject.ta.. 1주차 5강 빗방울 코딩하기 빗방울은 화면 상에서 랜덤한 위치에 놓인다. 크기는 큰 것, 중간 것, 작은 것으로 나뉜다. 바닥에 닿으면 없어지고 빗방울을 맞으면 점수가 올라간다. 빗방울에 중력을 먹여 주면 자동으로 떨어지게 된다. rigidbody: 질량이 가진 것으로 인식 하지만 바닥에 닿아도 없어지지 않는다. 빗물이 없어지는 것은 Unity의 component settting으로 구현한다. Collider로 설정할 수 있지만, 충돌하는 두 오브젝트 중 하나에는 rigidbody 속성이 있어야 한다. 다만, 빗물은 circle collider 2D로, 땅은 box collider 2d로 설정해야 한다. 하지만, 땅에 닿아도 없어지지 않기 때문에 없어지도록 설정한다.(시나리오 작성) 나와 부딪힌 상대방의 태그가 ground면 땅과 .. 1주차 4강 캐릭터 움직이기 Assets > Create > Folder에서 Script를 생성 C# → rtan 생성 C#은 게임 개발에서만 주로 쓰이고 있다. 캐릭터 움직이기 void Update() { transform.position += new Vector3(0.05f, 0, 0); } start -> 생성 되자마자 일어남 update -> 매 프레임마다 일어남 여기서 transform.position은 transform의 position을 수정하겠다는 의미이다. 위 코드는 지금 포지션에 위 값을 더해라는 의미다. C#에서는 소수는 f로 나타낸다. 760보다 클 때 다른 방향 보게 하기 float direction = 0.05f; // Start is called before the first frame update voi.. [Hackerrank] 19. String Validators 19. String Validators [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 기본 데이터에 대해 파이썬은 내장 문자열 검증 메소드가 있다. 만약 문자열이 알파벳, 숫자, 디지털 숫자 등이라면 검증할 수 있다. str.isalnum() 이 메소드는 모든 문자가 알파벳 또는 숫자인지 확인한다. (a-z, A-Z 그리고 0-9). >>> print 'ab123'.isalnum() True >>> print 'ab123#'.isalnum() False str.isalpha() 이 메소드는 모든 문자열이 알파벳으로만 이루어졌는지 확인한다 (a-z 그리고 A-Z). >>>print 'abcD'.isalpha() True >>>print 'abcd1'.isalpha() False s.. 이전 1 2 3 4 ··· 18 다음