border-top-left-radius: 10px;    // border 상단 왼쪽 모서리 부분을 둥글게 하겠다

    border-top-right-radius: 10px; //  border 상단 오른쪽 모서리 부분을 둥글게 하겠다.

    border-bottom-left-radius: 5px; // border 하단 왼쪽 모서리 부분을 둥글게 하겠다.
    border-bottom-right-radius: 5px; // border 하단 오른쪽 모서리 부분을 둥글게 하겠다.

반드시 테이블에만 적용되는 것은 아니다.  <div>태그도 CSS로 적용이 가능하다.


.css파일에서 다음과 같이 설정하고,


#example {

    border: 2px solid red;

    padding: 10px;

    border-top-left-radius: 25px;

}


.html 파일에서

 

<div id="example1">

<h1>큰제목<h1>

</div>


이렇게하게 되면, 상단에 왼쪽 부분이 둥글게 적용된 것을 볼 수 있다.



Posted by sungho88
,

콜라이더(Collider)


Collider는 게임 오브젝트의 컴포넌트 중 하나이다.

- Collider는 물리 충돌 처리를 위한 오브젝트의 형태를 정의한다. 

Collider는 게임시 눈에 보이지 않는 요소이므로 오브젝트와 정확하게 동일한 모양일 필요는 없다.

- Collider와 유사한 물리 충돌 처리를 위한 개념으로 Trigger가 존재한다.

Collider는 두 물체가 맞부딪쳤을 때, 서로 튕겨나가지만 Trigger의 경우 충돌하지 않고 통과된다.

- Collider과 Trigger 모두 충돌 시 일어날 때 발생할 상황을 스크립트 코드로 작성이 가능하다.

3D에서는 박스 콜라이더, 스피어 콜라이더, 캡슐 콜라이더를 사용할 수 있다. 

- 2D에서는 박스 콜라이더2D와 써클 콜라이더2D를 사용할 수 있다.

- 정교한 Collider를 만들기 위해 한 게임오브젝트에 여러개의 Collider를 생성하는 것도 가능하다.


OnCollisionEnter()




(예제)

void OnCollisionEnter2D(Collision2D other)
{
if (other.collider.tag == "YELLOW")
{
print("노란색이당~");
} else if(other.collider.tag == "BLUE")
print("파란색이당~");
}


이렇게 하면, 두 물체가 서로 부딪히는 순간(콜라이더가 만나는 순간) 호출하게 된다.


즉, 


태그가 YELLOW인 물체에 닿게 되면 노란색이당~

태그가 BLUE인 물체에 닿게 되면 파란색이당~


이 콘솔에 뜨게 된다.


void OnTriggerEnter2D(Collider2D other)
{
if (other.collider.tag == "YELLOW")
{
print("노란색이당~");
} else if(other.collider.tag == "BLUE")
print("파란색이당~");
}


q






Posted by sungho88
,

유니티 화면에서 버튼을 한 번 누를때마다 게임오브젝트를 하나씩 화면서 랜덤한 위치에서 생성하려고 한다.


먼저 게임오브젝트를 동적으로 생성하는 것은 이 블로그를 참조했다.


Instantiate와 Destroy 함수 사용하기


생성하는 것은 Instantiate()함수를 사용한다고 한다. 


그런데 어떻게 화면의 랜덤한 위치에 게임 오브젝트를 생성할까?


먼저, 랜덤 함수를 사용하기 위해 Random.Range(min,max)를 사용한다.


그럼, 화면의 크기를 어떻게 구할까?


만약, 개발 환경이 800 * 1280 해상도라고 


float randomX = Random.Range(0f, 800f); //적이 나타날 X좌표를 랜덤으로 생성해 줍니다.
float randomY = Random.Range(0f, 1280f); //적이 나타날 X좌표를 랜덤으로 생성해 줍니다.


로 한다면.


x축으로 0에서 800 사이의 난수,

y축으로 0에서 1280 사이의 난수가 나오게 된다.


그 밑에 


GameObject enemy = (GameObject)Instantiate(obj, new Vector3(randomX, randomY, 0f),
Quaternion.identity);



위 링크에서 보듯, 


첫 번째 파라미터에 복제(clone)할 프리팹 객체를 obj 위치에 넣고


두 번째 파라미터에 생성될 오브젝트의 위치,


세 번째에 회전인데 없으므로 기본인 Quaternion.identity 을 작성하면 된다.


Posted by sungho88
,