일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Quaternion
- PYTHON
- Lerp
- 도린이
- className
- 2D
- Event
- setItem
- intervals
- jQuery
- 웹스크래핑
- getItem
- 코딩
- 종속변수
- 연습
- Unity
- addEventListener
- euler
- javascript
- wsl
- classList
- topdown
- 자주 사용하는 Quaternion 함수
- 회전
- click
- 독립변수
- vsCode
- 픽셀
- 탑다운
- 도트
- Today
- Total
목록2D (8)
쫑가 과정

기능 1. 플레이어 능력치 부여하기 InputField 와 매서드를 연결해서 인게임내에서 능력치가 변경. public void ChangeMoveValue() { if(moveInput.text != "") { movetext.text = $"Move Speed: {moveInput.text}"; playerScript.speed = int.Parse(moveInput.text); } } 2. 원하는 능력치를 가진 적 유닛 만들기 Create 버튼과 매서드를 연결해 클릭 시 클론 만들고 클론을 입력한 능력치로 변경한다. public void CreateMonster() { if (hpInput.text != "" && moveInput.text != "" && damageInput.text != "" &..

결과 도움을 받은 영상과는 코드가 다릅니다. 영상에서는 이런 식으로 간격을 수동적으로 조건을 줬다. 이렇게 하면 나중에 깜빡이 간격 변경이 힘들고 보기도 별로라고 생각했다. 1. 깜빡이기. 깜빡이게 하는 건 쉽다. private SpriteRenderer spriteRenderer; void Awake() { spriteRenderer = GetComponent(); } void Update() { if (spriteRenderer.color == new Color(spriteRenderer.color.r, spriteRenderer.color.g, spriteRenderer.color.b, 1f);) { spriteRenderer.color = new Color(spriteRenderer.color.r..

오늘 결과. 1. 적 유닛과 부딪히면 체력이 닳게 만들어 보자. 구상 1. 공격을 맞으면 체력이 닳는 무적 시간을 갖는다. 2. 체력이 0이 되면 죽고 다시 시작된다. 3. 플레이어가 죽으면 적 유닛은 제자리로 돌아간다. 최대한 객체지향 프로그래밍 (4가지)을 연습하는 마음으로 작성했다. 1. 체력이 0이 되면 죽고 다시 시작 GameManager라는 스크립트 생성해 새로 만든 GameManager 오브젝트에 넣어줌. using UnityEngine; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { private Movement playerScript; [SerializeField] float waitToLoad ..

오늘 결과 1. 적 애니메이션 설정 플레이어 설정과 똑같다. 이번 스프라이트는 Y축이 없어서 X축만 사용했다. 좌/우 애니메이션을 판정해줄 MoveX 움직임을 상시 표시할 IsMoving 공격 시 작동할 Attack 2. 적 Script 1. 따라가기 private void Movement() { // 타겟과 적의 거리가 followRange보다 작고 attackRange보다 크면 따라간다. if (Vector3.Distance(target.position, transform.position) = attackRange) { speed = initialSpeed; transform.position = Vector3.MoveTowards(transform.position, target.position, sp..

public class MainCameraController : MonoBehaviour { [SerializeField] Transform player; private void LateUpdate() { Vector3 targetPos = new Vector3(player.position.x, player.position.y, this.transform.position.z); transform.position = targetPos; } } 카메라가 따라갈 위치 변수를 만들어주고, 카메라 위치를 위치 변수로 설정하면 된다. 중요한 건 LateUpdate메서드를 사용해야 한다는 것이다. 플레이어가 움직이면 위치가 변경되는데 카메라 위치도 같은 프레임에 변경되게 하면 카메라 위치가 버벅된다. 플레이어 위치가..

https://docs.unity3d.com/kr/current/Manual/2DSorting.html 2D 정렬 - Unity 매뉴얼 Unity는 타입과 용도에 기반한 우선 순위에 따라 렌더러를 정렬합니다. 렌더러 대기열을 통해 렌더러의 렌더 순서를 지정할 수 있습니다. 일반적으로 두 가지 메인 대기열, 즉 불투명 대기열과 투 docs.unity3d.com 쉬운 방법으로 해보자. 1. Sorting Group https://docs.unity3d.com/kr/current/Manual/class-SortingGroup.html 정렬 그룹 - Unity 매뉴얼 정렬 그룹 을 사용하면 그룹 게임 오브젝트를 스프라이트 렌더러와 함께 그룹화하고, 해당 스프라이트를 렌더링하는 순서를 제어할 수 있습니다. Uni..

원하는 구현 오브젝트를 한번 클릭하면 오브젝트 이름이 나온다. 더블 클릭하면 오브젝트로 확대된다. 주의! 많은 오브젝트를 사용할 거라 각 오브젝트 별 스크립트가 아닌 오브젝트를 만들면 알아서 적용되게 한다. 클릭 표시 그리고 이름 띄우기. 레이캐스트2d로 마우스 클릭하면 해당 위치를 가져오고 선택된 표시를 한다. 클릭 위치에 collider가 있다면 오브젝트 이름을 가져와 오브젝트 밑에 보이게 한다. 1. 마우스 클릭 좌표. void MouseClickDown() { if (Input.GetMouseButtonDown(0)) { Vector2 worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); hit = Physics2D.Raycast(w..
https://docs.unity3d.com/ScriptReference/Physics2D.Raycast.html Unity - Scripting API: Physics2D.Raycast A raycast is conceptually like a laser beam that is fired from a point in space along a particular direction. Any object making contact with the beam can be detected and reported. This function returns a RaycastHit object with a reference to the Collider t docs.unity3d.com public static Rayca..