본문 바로가기

GAME/유니티

왼쪽 마우스 버튼을 눌렀을때 색 변화시키기

C#스크립트를 생성후에 작성합니다.

 

using UnityEngine;
using System.Collections;

public class Test1: MonoBehaviour {

 

// 빨간색 material과 초록색 material을 선언하고 private 타입으로 해당 클래스에서만 사용가능하도록 선언합니다.

// 이때 [SerializeField]를 private 앞에 붙여주면 다른 클래스에서는 접근이 불가능하지만 인스펙터에서는 접근이

// 가능합니다.


[SerializeField]
private Material red_mat;
[SerializeField]
private Material green_mat;

private MeshRenderer mesh;


// start 메소드는 게임이 실행되었을 떄 한번만 실행되는 메소드입니다.

// start 메소드에서 MeshRenderer를 가져와서 mesh 변수에 저장합니다.


void Start () {
mesh = GetComponent<MeshRenderer> ();
}

// update 메소드는 실행 후 매초마다 실행되는 메소드입니다.

// Input.GetMouseButton(0)로 입력값이 0이라면 왼쪽마우스 버튼이 눌린것이고 컴포넌트의  색을 초록색으로 변화

// 시킵니다.

// false값을 반환한다면 왼쪽마우스 버튼을 누른 상태가 아니기 떄문에 컴포넌트의 색은 빨간색입니다.


void Update () {
if(Input.GetMouseButton(0)){
mesh.material = green_mat;
}else{
mesh.material = red_mat;
}
}
}

 

C#스크립트를 Inspector창에 넣어주고 Red_mat과 Green_mat에 맞는 material을 넣어줍니다.

 

 

'GAME > 유니티' 카테고리의 다른 글

플레이어 설정  (0) 2022.03.10
컴포넌트 패턴  (0) 2022.03.04
Instantiate() 메소드  (0) 2021.06.01
1.유니티 시작하기  (0) 2021.05.26