7fed8274b4836af751ed85e04f847473fd1ce48ca33f3c2ecf8fa66d3901974bce

ํฐ์ƒ‰ ์›์ด ์ค‘๋ ฅ๋ฐ›์•„ ๋–จ์–ด์ง€๊ณ 
๋ฐ”๋‹ฅ์ชฝ์— ํˆฌ๋ช…?๋ฐœํŒ์„ ๋งŒ๋“ค์–ด์„œ ์•ˆ๋จน์€ ํฐ์ƒ‰์›์ด ์Œ“์ด๋Š”(๋‚จ์•„์žˆ๋Š”)๊ฑธ ๊ตฌํ˜„ํ•˜๋ คํ–ˆ๋Š”๋ฐ
(์›€์งค์—์„  ์ฒดํฌ์‰ฝ๊ฒŒํ•˜๊ธฐ์œ„ํ•ด ํฐ๋ฐœํŒ์„ ์ค‘๊ฐ„์— ๋‘” ์ƒํƒœ)

ํ”Œ๋ ˆ์ด์–ด๋ž‘ ์ถฉ๋Œํ•˜๋ฉด ์Šค์ฝ”์–ด๋ฅผ ๋Š˜๋ ค์ฃผ๊ธฐ์œ„ํ•ด istrigger? ์ฒดํฌ๋ฅผ ์„ค์ •ํ•˜๋‹ˆ๊น

ํฐ์ƒ‰์›์ด ๋ฐœํŒ์ด๋ž‘ ์ถฉ๋Œ์„ ์•ˆํ•จ
์›€์งค ์ค‘๊ฐ„์—์žˆ๋Š”๊ฑด istrigger ์ฒดํฌํ‘ผ ํฐ์ƒ‰์›

์งˆ๋ฌธ:์ค‘๋ ฅ๋ฐ›๋Š” ๋ฌผ์ฒด๊ฐ€, ํ”Œ๋ ˆ์ด์–ด์™€ ์ถฉ๋Œ์‹œ์—๋Š” ์ ์ˆ˜๋ฅผ ์˜ฌ๋ฆฌ๊ณ 
๋ฐ”๋‹ฅ๊ณผ๋Š” ์ถฉ๋Œํ•˜๋„๋ก ์„ค์ •ํ•˜๋ ค๋ฉด

์Šคํฌ๋ฆฝํŠธ๋‹จ์œ„๋กœ ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•จ?

ํฐ์ƒ‰์›์— ๋„ฃ์€ ์ฝ”๋“œ
Movement2D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Movement2D : MonoBehaviour
{

ย  ย  [SerializeField]
ย  ย  private float moveSpeed = 0.0f;
ย  ย  [SerializeField]
ย  ย  private Vector3 moveDirection = Vector3.zero;
ย  ย 
ย  ย 
ย  ย  private void Update()
ย  ย  {
ย  ย  ย  ย  transform.position += moveDirection * moveSpeed * Time.deltaTime;
ย  ย  }

ย  ย  public void MoveTo(Vector3 direction)
ย  ย  {
ย  ย  ย  ย  moveDirection = direction;
ย  ย  }
}


item.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public enum ItemType { PowerUp = 0,Chicken = 1}

public class item : MonoBehaviour
{
ย  ย  [SerializeField]
ย  ย  private ItemType itemType;
ย  ย  private Movement2D movement2D;

ย  ย  private void Awake()
ย  ย  {
ย  ย  ย  ย  movement2D = GetComponent<Movement2D>();

ย  ย  ย  ย  float x = Random.Range(-1.0f, 1.0f);
ย  ย  ย  ย  float y = Random.Range(-1.0f ,1.0f);

ย  ย  ย  ย  movement2D.MoveTo(new Vector3(x, y, 0));
ย  ย  }

ย  ย  private void OnTriggerEnter2D(Collider2D collision)
ย  ย  {
ย  ย  ย  ย  if ( collision.CompareTag("Player") )
ย  ย  ย  ย  {
ย  ย  ย  ย  ย  ย  Use(collision.gameObject);

ย  ย  ย  ย  ย  ย  Destroy(gameObject);
ย  ย  ย  ย  }
ย  ย  }

ย  ย  public void Use(GameObject player)
ย  ย  {
ย  ย  ย  ย  switch ( itemType)
ย  ย  ย  ย  {
ย  ย  ย  ย  ย case ItemType.PowerUp: ย 
ย  ย  ย  ย  ย  ย  player.GetComponent<Weapon>().AttackLevel ++;
ย  ย  ย  ย  ย  ย  break;
ย  ย  ย  ย  ย case ItemType.Chicken:
ย  ย  ย  ย  ย  ย  player.GetComponent<control>().Score += 100;
ย  ย  ย  ย  ย  ย  break;
ย  ย  ย  ย  }
ย  ย  }
}