์ถฉ๋Œํ•œ ์ง์‚ฌ๊ฐํ˜• ๋ธ”๋Ÿญ์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์„ ๋ฐ›์•„์™€์„œ ์ง์‚ฌ๊ฐํ˜• ๋ธ”๋Ÿญ์„ ๊ทธ ๋ฐฉํ–ฅ์œผ๋กœ ๋„˜์–ด์ง€๊ฒŒํ•จ ์Šคํฌ๋ฆฝํŠธ ํ•˜๋‚˜์ž„

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec82fa11d02831da48f5f7e7e334e6e7e5e9c8f8da62f9f0f765b6d1cf2b1a5ad47a86352e3adc3a2f1d00cd785f415af3a8f293b9de8942db62



using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class Play : MonoBehaviour

{

ย  ย  private string Rotate_Dir; //๋™,์„œ,๋‚จ,๋ถ ๊ฐ€๋Šฅ

ย  ย  public float Rotate_Timer = 0.5f, Rotate_Angle = 10f;

ย  ย  private float Timer;

ย  ย  public string Triger_Dir;

ย  ย  private int Col_Count=0;

ย  ย  public bool Triger = false;

ย  ย  private Rigidbody Target;


ย  ย  private void OnCollisionEnter(Collision collision)

ย  ย  {

ย  ย  ย  ย  if (Col_Count == 0 && Triger==false) /*์ถฉ๋Œ ์นด์šดํŠธ๊ฐ€ 0์ด๋ฉด 1๋กœ ๋งŒ๋“ค์–ด์„œ ์•„๋ž˜ ๋ช…๋ น์ด 1๋ฒˆ๋งŒ ์‹คํ–‰๋˜๊ฒŒํ•จ ํŠธ๋ฆฌ๊ฑฐ false๋ผ๋Š” ์กฐ๊ฑด์„ ๋ถ™์ด์ง€ ์•Š์œผ๋ฉด

ย  ย  ย  ย  ย  ย  ํŠธ๋ฆฌ๊ฑฐ ๋ธ”๋Ÿญ๋„ ์ถฉ๋Œ ์ด๋ฒคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๊ฒŒ๋จ*/

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Col_Count = 1;

ย  ย  ย  ย  ย  ย  Rotate_Dir = collision.transform.GetComponent<Play>().Rotate_Dir; //์ถฉ๋Œ๋œ ๊ฐ์ฒด์˜ ํšŒ์ „ ์ง„ํ–‰ ๋ฐฉํ–ฅ์„ ์ฝ์–ด์™€์„œ ์ž์‹ ์˜ ํšŒ์ „ ์ง„ํ–‰ ๋ฐฉํ–ฅ์— ๋™๊ธฐํ™” ์‹œํ‚ด

ย  ย  ย  ย  }

ย  ย  }


ย  ย  private void Awake()

ย  ย  {

ย  ย  ย  ย  Rotate_Dir = Triger_Dir;

ย  ย  }

ย  ย  void Start()

ย  ย  {

ย  ย  ย  ย ย 

ย  ย  ย  ย  Timer = Rotate_Timer;

ย  ย  }

ย  ย  void Update()

ย  ย  {

ย  ย  ย  ย  Timer -= Time.deltaTime; //ํƒ€์ด๋จธ ๊ฐ์†Œ

ย  ย  ย  ย  if(Rotate_Dir=="๋™" && transform.rotation.eulerAngles.z != 270f && Timer<0f)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Timer = Rotate_Timer;

ย  ย  ย  ย  ย  ย  transform.Rotate(0f, 0f, -Rotate_Angle);

ย  ย  ย  ย  }


ย  ย  ย  ย  if (Rotate_Dir =="์„œ" && transform.rotation.eulerAngles.z <= 80f && Timer < 0f)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Timer = Rotate_Timer;

ย  ย  ย  ย  ย  ย  transform.Rotate(0f, 0f, Rotate_Angle);

ย  ย  ย  ย  }


ย  ย  ย  ย  if (Rotate_Dir == "๋‚จ" && transform.rotation.eulerAngles.x != 270f && Timer < 0f)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Timer = Rotate_Timer;

ย  ย  ย  ย  ย  ย  transform.Rotate(-Rotate_Angle, 0f, 0f);

ย  ย  ย  ย  }


ย  ย  ย  ย  if (Rotate_Dir == "๋ถ" && transform.rotation.eulerAngles.x != 90f && Timer < 0f)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Timer = Rotate_Timer;

ย  ย  ย  ย  ย  ย  transform.Rotate(Rotate_Angle, 0f, 0f);

ย  ย  ย  ย  }


ย  ย  }

}