delegate ์‚ฌ์šฉํ•ด์„œ A์™€ B๊ฐ€ ๋ถ€๋”ซ์น˜๋ฉด C๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š”๋ฐฉ๋ฒ• ๊ฐ€๋ฅด์ณ์ฃผ์„ธ์š”

์œ ๋‹ˆํ‹ฐ ์”น ์ดˆ๋ณด์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆย ๊ฐ€๋ฅด์ณ์ฃผ์„ธ์š”

A์™€ B์— ๋„ฃ์€ ์Šคํฌ๋ฆฝํŠธ (65536์ž ์ œํ•œ๋•œ์— ์ด๋ ‡๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค ์–‘ํ•ด์ข€)

https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=141278&page=1

delegate ์‚ฌ์šฉํ•ด์„œ A์™€ B๊ฐ€ ๋ถ€๋”ซ์น˜๋ฉด C๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™A์™€ B์— ๋„ฃ์€ ์Šคํฌ๋ฆฝํŠธusing System.Collections;using System.Collections.Generic;using UnityEngine;public class AB : MonoBehaviourgall.dcinside.com


---------------------------------------------------------------------------------------------------------

C์— ๋„ฃ์€ ์Šคํฌ๋ฆฝํŠธ

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class CollisionExample : MonoBehaviour

{

public delegate void CollisionAction();

public float speed;

public static event CollisionAction OnABCollision;

public GameObject myObject;

private void Start()

{

// myObject์— ๋‹ค๋ฅธ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. (์ด๋•Œ ์—ฌ๊ธฐ myObject์— ์•„๋ฌด๊ฑฐ๋‚˜ ๋„ฃ์Œ)

myObject = transform.Find("OtherObject").gameObject; // ์—ฌ๊ธฐ๊ฐ€ 17๋ฒˆ์จฐ ์ค„ ์˜ค๋ฅ˜ ์ฝ”๋“œ???

// A์™€ B๊ฐ€ ์ถฉ๋Œํ•˜๋ฉด C ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™

OnABCollision += MoveCRight;

}

private void OnDestroy()

{

myObject = null;

}

private void Update()

{

if (Input.GetKeyDown(KeyCode.Space))

{

if (OnABCollision != null)

{

OnABCollision();

}

}

}

private void MoveCRight()

{

transform.Translate(Vector3.right*speed);

Debug.Log("C ์ด๋™!");

}

}

์ž…๋‹ˆ๋‹ค

Chat gpt 3.5 Ai๊ฐ€ ๊ฐ€๋ฅด์ณ์ค€๋Œ€๋กœ ์ป๋Š”๋ฐ ์™œ ์•ˆ๋ ๊นŒ์š”???

A๋Š” Aํƒœ๊ทธ B๋Š” Bํƒœ๊ทธ C๋Š” ํƒœ๊ทธ ์—†์Œ, ํŠธ๋ผ์ด์•ต๊ธ€๋„ ํƒœ๊ทธ ์—†์Œ ์ž…๋‹ˆ๋‹ค

Aํ•˜๊ณ  Bํ•˜๊ณ  ์ถฉ๋Œํ•˜๊ณ  ์ŠคํŽ˜์ด์Šค ๊นŒ์ง€ ๋ˆŒ๋ €๋Š”๋ฐ๋„ ์•„๋ฌด์ผ์ด ์•ˆ์ผ์–ด๋‚˜๋„ค์š”.(C๊ฐ€ ์•ˆ์›€์ง์ด๋„ค์š”)

GameObjectFind ์“ฐ์ง€ ๋ง๊ณ  delegate ์จ์„œ ํ•ด์ฃผ์„ธ์š” ๋‚˜์ค‘์— ์ถฉ๋Œํ›„ C๊ฐ€ ์‚ฌ๋ผ์ง€๊ฒŒ๋” ํ• ๊ฑฐ์˜ˆ์š”


7cf3da36e2f206a26d81f6e64e89736c0e


๋ณด์‹œ๋ฉด ์•„์‹œ๋‹ค์‹œํ”ผ My Object์— ํŠธ๋ผ์ด์•ต๊ธ€ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.(๋ญ ๋„ฃ์–ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ์„œ ์•„๋ฌด๊ฑฐ๋‚˜ ๋„ฃ์—ˆ์–ด์š”)


7fef8268efc23f8650bbd58b36827c6e4ac7b8


ํŠธ๋ผ์ด์•ต๊ธ€์€ ๊ทธ๋ƒฅ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋งŒ์กŒ์Šต๋‹ˆ๋‹ค.(์•„๋ฌด๊ฒƒ๋„ ์—†์–ด์š”)