본문 바로가기

C

unity Awake and Start Start와 Awake 함수는 스크립트가 실행될 때 자동으로 호출되는 함수입니다. Awake 함수는 스크립트 컴포넌트가 비활성화된 경우에도 먼저 호출되므로 스크립트와 초기화 사이의 레퍼런스 설정하는데에 많이 활용합니다. Start는 Awake 가 호출된 후 첫번째 Update 직전에 호출되지만 스크립트 컴포넌트가 활성화된 경우에만 호출됩니다. 즉, 스크립트 컴포넌트를 활성화하고 Start를 활성화해서 작업을 처리할 수 있습니다. 이런 식으로 초기화 코드의 시작을 정말 필요로 할 때까지 지연시킬 수 있습니다. 예를 들어 적 캐릭터가 게임에 진입하고 Awake를 사용해서 적에게 일정한 탄약을 할당하지만 스크립트 컴포넌트를 활성화하고 Start를 사용해 정해진 타이밍에만 사격이 가능하게 만들 수 있습니다. S.. 더보기
unity 변수 및 함수의 범위와 접근성 Scope and Access modifiers 클래스에서 정의되는 변수는 함수에서 정의되는 변수와 달리 그에 해당하는 접근 한정자가 있습니다. Access modifier는 데이터 타입 앞에 배치되는 키워드이며, 변수 또는 함수가 보일수 있는 위치를 정의하데 활용됩니다. Access modifiers Public, Private 보통 다른 스크립트에서 변수나 함수에 접근해야하는 경우엔 public. 그외에는 private. 변수 1를 클래스에서 public으로 선언하게 되면, 클래스의 밖에서 변수에 접근할 수 있습니다. 또한 변수 1는 인스펙터의 컴포넌트에 표시되어 수정할 수 있습니다. 이렇게 선언된 변수 1은 스크립트 내에서 특정 값으로 초기화되더라도 인스펙터에서 작성된 값으로 오버라이드됩니다. 하지만 Start, Awake 같은 함수에서 변수가 .. 더보기
unity 루프 loop 루프는 액션을 반복하는 수단 - for 루프, while 루프, DoWhile 루프 1. while 조건이 충족되면 반복합니다. using UnityEngine; using System.Collections; public class WhileLoop : MonoBehaviour { int cupsInTheSink = 4; void Start () { while(cupsInTheSink > 0) { Debug.Log ("I've washed a cup!"); cupsInTheSink--; } } } 2. DoWhile 반복을 한번 하고나서 조건을 충족하는지 검사합니다. ; 세미콜론이 존재하므로 조심합니다. using UnityEngine; using System.Collections; public clas.. 더보기
unity if문 using UnityEngine; using System.Collections; public class IfStatements : MonoBehaviour { float coffeeTemperature = 85.0f; float hotLimitTemperature = 70.0f; float coldLimitTemperature = 40.0f; void Update () { if(Input.GetKeyDown(KeyCode.Space)) TemperatureTest(); coffeeTemperature -= Time.deltaTime * 5f; } void TemperatureTest () { // 커피 온도가 가장 뜨거운 섭취 온도보다 높은 경우 if(coffeeTemperature > hotLimitT.. 더보기
unity 규칙 및 구문 using UnityEngine; using System.Collections; public class BasicSyntax : MonoBehaviour { void Start () { //이 행은 오브젝트의 x 위치를 나타냅니다. /*안녕하세요. * 두 줄로 구성된 주석입니다. * */ Debug.Log(transform.position.x); if(transform.position.y 더보기
unity 변수 및 함수 using UnityEngine; using System.Collections; public class VariablesAndFunctions : MonoBehaviour { int myInt = 5; // int 타입으로 변수 myint 를 5로 초기화 void Start () // 이 스크립트와 연결된 오브젝트가 씬에 진입할때 호출되는 함수 { myInt = MultiplyByTwo(myInt); //함수 호출. myInt는 여기서 인자(argument) Debug.Log (myInt); } int MultiplyByTwo (int number) //함수는 메서드 라고도 한다. 함수는 반환이라는 작업을 한다. { int result; result = number * 2; return result; /.. 더보기
C# 프로그래밍 - 함수의 입력 출력 여기서 print(a+num) 은 11이 출력될 것입니다. 그리고 Start 함수가 끝나게 되면 남아있던 x 변수 메모리도 해제됩니다. 함수에 있는 입력 변수는 호출된 곳에서 값을 받아 생성됩니다=인자를 받아 파라미터가 선언됩니다. 매개변수와 인자 이름은 같아도 상관없습니다. 더보기
C# 프로그래밍 - 함수의 메모리 동작 마지막 스코프에서 변수의 메모리가 자동으로 해제됩니다. 이 파일의 순서대로 Start 메인함수와 Test 함수가 있음을 컴퓨터가 인지. Start 메인함수 시작. int 타입의 num이 메모리에 생성됨. TestFunc 함수가 호출됨. int 타입의 value가 메모리에 생성됨. value가 콘솔에 출력됨. value 값이 메모리에서 해제됨. TestFunc 함수 끝. Start 함수 끝. num 값이 메모리에서 해제됨. num들은 지역변수이므로 다르게 메모리에 저장되고 다르게 관리됨. 사용된 변수는 메모리 관리를 위해 해제됩니다. 함수 안에 있는 변수는 함수가 종료되면 해제됩니다. 서로 다른 함수 안에 있는 변수는 분리되어 있습니다. 출처 - https://youtu.be/_G3Bp8w3Ckg?list.. 더보기