using UnityEngine; using UnityEngine.UI; [RequireComponent(typeof(ScrollRect))] public class ScrollLoop : MonoBehaviour { [SerializeField] [Range(0.5f, 1.0f)] private float createthresholdRate = 0.5f; [SerializeField] [Range(1.0f, 10.0f)] private float releasethresholdRate = 2.0f; [SerializeField] private float contentSize = 0f; public ScrollRect scrollRect { get; private set; } = null; public S..
RectTransform canvasRect = Canvas.GetComponent(); Vector2 viewPoint = Camera.main.WorldToViewPortPoint(WorldObject.transform.position); Vector2 canvasPoint = new Vector2( ((ViewportPosition.x*canvasRect.sizeDelta.x)-(canvasRect.sizeDelta.x*0.5f)), ((ViewportPosition.y*canvasRect.sizeDelta.y)-(canvasRect.sizeDelta.y*0.5f)) ); ui.anchoredPosition = canavsPoint -------------------------------------..
string JsonSerialize(object value) { var output = new StringBuilder(); using (var writer = new JsonWriter(output)) { writer.Settings = new JsonWriterSettings() { PrettyPrint = false, }; writer.Write(value); } return output.ToString(); }
부동 소수점은 메모리에 4바이트 기준 - 1bit - 부호 ( 0 - 양수, 1 - 음수 ) - 8bit - 정수부분 - 23bit - 소수부분 8바이트 기준 - 1bit - 부호 ( 0 - 양수, 1 - 음수 ) - 11bit - 정수부분 - 52bit - 소수부분 정수와 다르게 메모리가 표현되기 때문에 주소를 캐스팅 해주어 변환한다. ex) { float a = 1.1f; UInt32* c = (UInt32*) &a; // a 의 메모리 방식을 Uint32 메모리 형식으로 캐스팅한다. } { UInt32 e = (UInt32) (*c); float* f = (float*)&e; // 다시 e의 메모리 방식을 float 메모리 형식으로 캐스팅한다. float* f = (float*)c; // 윗줄이랑 ..
implicitly - 묵시적 explicit - 명시적 C / C++ 에서는 어떤 변수가 NULL인지 검사하기위해 조건문을 쓸 수 있다. C / C++ 에서는 조건문 안에 있는 수식이 0이면 false, 0이 아니면 true로 판단 하기 때문. A* a = new A(); if (a) { somthing... } C# 에서는 위와 같이 쓸수가 없다. 이유는 조건문에 들아가는 타입이 bool 형 이여야 하기 때문이다. 하지만 유니티에서는 Object를 상속받은 클래스 인스턴스들은 가능한데 그 이유가 Object 클래스가 bool 타입에 대해 묵시적 형 변환 연산자를 구현했기 때문. UnityEngine.Object.cs public static implicit operator bool(Object exi..
CIL? (IL) - .Net framework 언어로 개발된 프로그램 코드는 CIL(Common Intermediate Language)이란 바이트코드를 생성. CLR? - JIT컴파일링를 통해 CIL를 실행시키는 가상머신 구성요소 (CIL를 Native code로 변환 시켜서 실행한다?) - Java의 JVM(Java virtual Machine)이라고 생각하면 쉽다 (JVM은 Java로 개발된 코드로 컴파일 한 결과를 실행시키는 실행 환경) JIT(Just-In-Time) 컴파일링 - IL을 해석하고 기계어(Native Code)로 변환하는 과정. - ex) mono가 IL코드를 한줄씩 읽어 그걸 기기에 맞는 Assembly어로 변환하여 실제로 실행. AOT( ahead of time) 컴파일링 -..
