본문 바로가기

스파르타코딩 공부내용 정리

(14)
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주차 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..
완주 회고 1달 간 강의를 열심히 들으면서 웹개발의 능력을 성장시킬 수 있는 점이 매우 좋았다. 하지만 강의가 2020년 기준이라서 사이트가 바뀌어서 크롤링을 하는데 문제가 생기거나 코드스닛펫에 post가 빠져 작동하지 않는 등이 문제도 있었다. ( 리뷰글에 해결법을 다 적어 놓았습니다. ) 그럼에도, HTML 등 웹을 처음 다루거나 좀 더 많은 내용을 공부하고 싶다는 분들은 이 강의를 적극 추천합니다.
4주차_Sweeter(온라인 메신저) 만들기 1. 1~3주차와 차이점 1) Bulma로 예쁜 웹사이트를 만든다. (기존에는 Bootstrap) 2. 목표 : 로그인 기능을 구현할 수 있다. 3. 로그인 기능 JWT(JSON Web Token) : JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준 1) 로그인 매서드 - 로그인 시, 비밀번호를 같은 방법으로 암호화한 후, DB에서 해당 아이디와 비밀번호를 갖는 회원이 있는지 찾습니다. 회원 정보가 없는 경우 실패 메시지를 보내고, 찾은 경우 아이디와 토큰 만료 시간을 저장하는 토큰을 만들어 넘겨줍니다. - 로그인 성공 메시지를 받으면 건네받은 토큰을 쿠키로 저장하여 만료되기 전까지 갖고 있으면서, API 요청을 보낼 때마다 회원임을 확인받습니다. - 로그아웃 시 해당 토큰을 삭제합니다. 2)..