2024/01/09

안석환·2024년 1월 9일
0

오늘 배운 코드


  1. Quaternion.LookRotation(Front, Vector3.up)

💾 코드

Instantiate(itemToGive.dropPrefab, hitPoint + Vector3.up, Quaternion.LookRotation(hitNormal, Vector3.up));
//복제한다(아이템 투 기브 아이템 데이터의 프리팹을(,) 충돌 지점에서 y 값을 1더한 위치에(,) 충돌지점이 앞이고 위쪽방향은 위인 회전을 가진)

📖 참고

    public static Quaternion LookRotation(Vector3 forward, [DefaultValue("Vector3.up")] Vector3 upwards)
    {
      Quaternion ret;
      Quaternion.LookRotation_Injected(ref forward, ref upwards, out ret);
      return ret;
    }
    
        private static extern void LookRotation_Injected(
      ref Vector3 forward,
      [DefaultValue("Vector3.up")] ref Vector3 upwards,
      out Quaternion ret);




🧐기본 공부 내용


  1. dynamic형식
  • 런타임 중에 형식검사가 이루어지는 데이터 형식


💾 코드

class Duck
{
	public void Walk()
    {
    	//Walk
    }
}

class Mallard : Duck
{
	//Walk
}

class RobotDuck
{
	public void Walk()
    {
    	//Walk
    }
}

class MainApp
{
	static void Main(string[] args)
    {
    	dynamic[] arr = new dinamic[] {new Duck(), new Mallard(), new RobotDuck()}
        
        foreach(dinamic duck in arr)
        {
        	duck.Walk();
            //중복되어 판별이 불가한데 컴파일 성공
        }
        arr.Swim();
        //없는 메소드지만 컴파일 성공
    }
}


  1. DLR C# 에서 Python 코드 사용하기
  • DLR은 CLR 위에서 동작하며, 파이썬이나 루비등 동적 언어를 실행
  • DLR은 C#같은 정적 언어 코드에서 Python 같은 동적 언어와 상호 동작 지원
  • DLR과 CLR사이 상호 동작은 dinamic 형식을 통해 이루어짐

📖 참고


💾 코드

//python 코드
class NameCard :
	def__init__(self, name, phone)
    	self.name = name
    
//C# 코드
ScriptRuntime runtime = Python.CreateRuntime();
dynamic result = runtime.Execute("namecard.py");
result.name = "홍길동";
//python 코드 수정




⛔️ 에러


  1. 오류 내용
  • 시도, 해결 방




💭 느낀점


  1. 공부 해야할게 너무 많은데
  • 시간투자보다는 시간을 얼마나 알차게 쓰냐가 중요한거 같다
profile
안석환!

0개의 댓글