Announcement

Collapse
No announcement yet.

콘솔 명령기능 자동실행 어떻게 하나요?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    콘솔 명령기능 자동실행 어떻게 하나요?

    UDK를 막 시작하니, 찾아도 찾아도 막히는 부분이 많네요.ㅎㅎ

    어떤 기능이 구현된 스크립트를 적용시켜서, Tab 누르고 명령어를 치면, 특정 기능이 작용되도록 해놨습니다.

    예를 들어, 스크립트에 exec fuction Superman() 이란 것을 구현해 놓고,
    게임상에서 명령어 Superman을 치면, 슈퍼맨이 되는 기능입니다.


    문제는 이 게임을 아이패드에 옮길거라, 게임이 시작되면 자동적으로 적용되도록 하고 싶습니다.
    아이패드에서는 콘솔명령을 할 수 없을 뿐더러, 게임이 시작되면, 자동으로 적용되게 하고 싶습니다.

    PostBeginPlay() 함수가 생성자 같은 기능을 한다길래.

    simulated fuction PostBeginPlay()
    {
    Superman()
    }

    이렇게 했더니, 뭔가 tab키를 통해 명령한거랑 기능이 다르게 작동되더라구요.
    또한, 정식으로 새창열어서 게임실행하면, 제가 만든 함수가 콘솔명령을 통해 실행되지도 않는데, 이유를 잘 모르겠습니다.;;;
    해결할 방법이 없을까요 ?

    #2
    exec을 사용한 함수는 콘솔에 의해 호출될 수도 있고

    다른 함수에서 호출될 수 있습니다.


    일반적인 함수는 엔진이 호출하는 함수(이벤트)나

    집행이 진행중인 다른 함수 내부에서 호출해줘야만 합니다.


    언급하신 PostBeginPlay() 이벤트는 레벨이 시작되기 전, 엔진에 의해 호출됩니다.

    호출 시점상 생성자와 상당히 유사하지만 '레벨이 시작되기 전'에만 호출되므로

    런타임에서 Spawn()을 이용한 경우는 호출되지 않습니다.

    Comment


      #3
      아, 그렇군요. 답변감사합니다.

      그럼, 런타임시 명령어를 치지 않아도 자동으로 기능이 활성화 시킬려면,
      어떻게 해야하는지 알 수 있을까요 ?

      function들이 어떻게 실행되는지 순서를 알수가 없으니, 어디에 위치시켜야 하는지 막막하네요 ..;;;;

      Comment


        #4
        함수성 없이

        멤버 변수 값을 조작하는 경우는

        DefaultProperties 블록을 이용할 수 있습니다.


        새 인스턴스가 생성될 때 마다

        이 블록의 값으로

        멤버 변수가 초기화됩니다.

        Comment

        Working...
        X