본문 바로가기
제출용/TIL

내일배움캠프 35일차 TIL + png 스프라이트 만들기 / 각도기 만들기

by 유린테 2024. 6. 4.

프로젝트에 내가 만든 그림을 넣고싶다! 

근데 스프라이트로 넣으려면 어떻게 해야하나 고민하다가 검색을 통해 찾았다!

 

Png (내 파일) 유니티에서 사용 가능한 스프라이트 만들기

 

프로젝트창에 이미지 넣기 - 인스펙터창 텍스쳐타입 - Default > Sprite 변환

프로젝트 창에 내 png 등을 넣고, 인스펙터 창에 보면 TexutreType을 조정할 수 있다

여기가 원래 Default 로 되어있는데  >> Sprite로 바꿔주면 스프라이트로 사용가능!

아주 간단했다!

이렇게 만들어준 스프라이트를 넣어주면 강의에서 르탄이 등 이미지 넣던것과 똑같이 넣어진다.

 

코딩연습

 
(1) 각도기 만들기

 

using System;

public class Solution {
    public int solution(int angle) {
        int answer = 0;
        
        if (0 < angle && angle < 90)   //애초에 angle은 0보다 커서 0>angle 없어도 됨
        {
            return 1;
        }
        
        else if (angle == 90)
        {
            return 2;
        }
        
        else if (90 < angle && angle < 180) //위에서 90보다 낮은거 걸러졌기 때문에  90<angle 없어도 됨
        {
            return 3;
        }
        
        else if (angle == 180) //그럼 얘는 짜피 180 뿐이라 else 만 줘도 된다!
        {
            return 4;
        }
        
        
        return answer;
        
        // 모든 숫자를 if 안에서 쳐냈기 때문에 return=0 없어도 돌아감
        // 모든 숫자를 쳐주지 않았으면 return=0을 해줘야한다
    }
}

 

내가 놓친 부분

 

1.  (0 < angle < 90) 이런거 코드에서는 쓰면 안됨

 

수학적으로는 가능하지만, 코드에서는 이렇게 한번에 쓸 수 없다.

0 < angle && angle < 90 이렇게 사용해주어야 함!!!! 

 

2. 조건을 잘 읽어보면 코드를 줄일 수 있다.

 

지금 내가 길게길게 적어놓았는데, 조건을 보면 angle은 원래 0 보다 크다.

그렇기 때문에 

if ( angle < 90 ) 으로만 적어주어도 가능!

그리고 코드는 위에서 아래로 진행되기 때문에 

else if (90 < angle && angle < 180)

여기 도달하면 이미 90 이하 친구들이 갈렸기 때문에, 남은 수는 어짜피 90보다 크다. 

angle < 180 만 해주면 끝.

마지막도 이미 180 밖에 안남았기 때문에 그냥 else 해주면 끝임! 

 

using System;

public class Solution {
    public int solution(int angle) {
               
        if (angle < 90) return 1;
    
        
        else if (angle == 90) return 2;
        
        
        else if (angle < 180) 
            return 3;
                
        else return 4;

 

그러면 이렇게 까지 줄여줄 수있다.

 

바로 return 이 나와서 {} 를 써주지 않아도 되고, 들어갈 수 있는 모든 숫자를 if 안에서 쳐냈기 때문에

int answer = 0; / return answer;  을 해주지 않아도 된다.

하지만 모든 숫자를 쳐낸게 아니라면  return=0 해줘야함.