반응형
유니티, 2D 프로젝트에서 이미지를 회전시키는 방법을 설명합니다.
2에서 이미지를 회전하는 방법은 다음과 같습니다.
2D에서는 z값을 이용해서 회전시킵니다. 이 값이 음수이면 시계방향으로 회전하며, 양수이면 반시계 방향으로 회전합니다.
this.transform.Rotate(0, 0, 각도); |
예제
1. 2D 프로젝트를 생성합니다.
2. 아래의 딱정벌래(beetle) 이미지를 다운로드 받고, Asset에 추가합니다.
3. Beetle.pgn 이미지를 Sceen에 추가합니다.
4. C# Script를 추가하고, Beetle과 연결합니다 - BeetleController
5. 코드를 작성합니다.
마우스 왼쪽 버튼을 클릭할 때마다 시계 방향으로 30도씩 회전시키는는 코드입니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BeetleController : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0))
{
this.transform.Rotate(0, 0, -30);
}
}
}
6. 실행해 봅니다.
다음 코드는 마우스를 클릭하면 이미지를 시계방향으로 계속 회전시키는 코드입니다.
마우스를 다시 한 번 클릭하면 회전을 멈춥니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BeetleController : MonoBehaviour
{
float speed = 0.0f;
// Start is called before the first frame update
void Start()
{
// 프레임율을 60으로 설정한다.
// Update 함수를 1초에 60번 실행한다.
Application.targetFrameRate = 60;
}
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0))
{
if(speed == 0) speed = 1;
else speed = 0;
}
this.transform.Rotate(0, 0, -speed);
}
}
도전!
마우스를 클릭하면 이미지가 시계 방향으로 계속 회전하고,
또 한 번 클릭하면 회전을 멈춥니다.
다시 클릭하면 이미지가 반시계 방향으로 계속 회전합니다.
마우스를 클릭할때마다 위의 과정이 반복되도록 만들어 봅시다.
반응형
'유니티_unity' 카테고리의 다른 글
(유니티) 사운드(Sound. 오디오, 소리) 출력하기 (0) | 2024.03.30 |
---|---|
(유니티) Input.GetKey(): 키보드로 오브젝트 상하좌우 움직이기 (0) | 2024.03.25 |
(유니티) [유니티 교과서] 실습용 파일 (0) | 2024.03.19 |
(유니티) 오브젝트 좌우 반전 transform.localScale GetComponent<SpriteRenderer> (0) | 2024.02.28 |
(유니티) GetKey(), GetAxis, GetAxisRaw 차이점 (0) | 2024.02.27 |