Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 역직렬화 오류
- webview
- 반응형레이아웃
- AR
- 구글플레이스토어
- kinect v2
- 에셋번들
- muilt controller
- web3D
- Rewired
- android app bundle
- Depth camera
- Specular Highlights
- untiy
- RenderStreaming
- Android
- 랜더스트리밍
- Unity VisualStudio
- TextMeshPro 한글
- unityhub
- DS4
- WebGL
- 듀얼쇼크4
- Unity
- apk
- 커스텀쉐이더
- 유니티
- TextMeshPro
- AssetBundle
- Environment Reflections
Archives
- Today
- Total
기억저장고
Unity 이벤트 트리거 스크립트로 추가 본문
<스크립트>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class MyBtnScript : MonoBehaviour
{
public Image img;
private EventTrigger eventTrigger;
private Material btnMat;
private Color onColor = new Color(118/255f, 5 / 255f, 0 / 255f);
private Color defaultColor = Color.white;
private const float emissionIntensity = 25f;
private void Awake()
{
CreateBtnMat();
img = GetComponent<Image>();
eventTrigger = GetComponent<EventTrigger>();
//이벤트 트리거 - PointEnter
EventTrigger.Entry enterentry = new EventTrigger.Entry();
enterentry.eventID = EventTriggerType.PointerEnter;
enterentry.callback.AddListener((data) => { MouseOver(); });
//이벤트 트리거 - PointExit
EventTrigger.Entry exitentry = new EventTrigger.Entry();
exitentry.eventID = EventTriggerType.PointerExit;
exitentry.callback.AddListener((data) => { MouseExit(); });
//저장
eventTrigger.triggers.Add(enterentry);
eventTrigger.triggers.Add(exitentry);
//
}
//실행할 함수
public void MouseOver()
{
if (img.material != null)
{
img.material.SetVector("_EmissionColor", onColor * emissionIntensity);
}
}
//실행할 함수
public void MouseExit()
{
if (img.material != null)
{
img.material.SetVector("_EmissionColor", defaultColor * emissionIntensity);
}
}
//버튼 머터리얼 생성
public void CreateBtnMat()
{
Material mat = Instantiate(UIManager.Inst.btnActiveMat);
btnMat = mat;
}
//머터리얼 넣고/빼고
public void SetBtnMat(bool isActive)
{
switch (isActive)
{
case true:
img.material = btnMat;
break;
case false:
img.material = null;
break;
}
}
}
출처(훨씬자세히 써있음)
https://daru-daru.tistory.com/55
'Unity' 카테고리의 다른 글
[RenderStreaming] 랜더스트리밍 Brodcast로 Connect ID 각각 설정하는방법 (0) | 2022.11.02 |
---|---|
Unity PC 에서 Face Filter 만드는 법 (1) | 2022.10.28 |
[Unity] AR 반사 재질(메탈) 적용 안될 때..(에디터랑 다르게 나올 때) (0) | 2022.10.28 |
cmd에서 유니티 에디터 실행시키는법 (0) | 2022.09.15 |
유니티 패키지 스크립트 수정하는 방법 (0) | 2022.09.14 |
Comments