Script Import
3 분
게임 오브젝트에 연결된 것 외에도, ZEPETOScript는 다른 스크립트에서 직접 사용할 수 있습니다.
ZEPETOScript를 라이브러리나 모듈처럼 간단히 가져와서 사용할 수 있습니다. TypeScript 문법에서는 ZEPETOScript 파일에 대한 상대 경로를 사용해야 합니다.
아래 상황을 고려할 때, ExtraComponent를 ScriptImport에 가져오려면 다음 문법을 사용해야 합니다.
다음 예시는 lib 폴더에 위치한 ExtraComponent.TS를 호출하기 위한 ScriptImport.ts의 선언입니다.
import ExtraComponent from './lib/ExtraComponent';

👍 팁
- 다른 TS 파일을 가져올 때 경로를 정확히 지정하는 것이 중요합니다.
- 상대 경로 표기법에 익숙해지세요.
- ./는 현재 디렉토리를 나타냅니다.
- ../는 부모 디렉토리를 나타내며, 즉 현재 디렉토리의 한 단계 위에 있는 디렉토리입니다.
가져온 스크립트에서 선언된 내보낸 함수와 변수를 샘플처럼 직접 참조하여 접근할 수 있습니다.
this.gameObject.AddComponent<ExtraComponent>();
const extraComponent = this.gameObject.GetComponent<ExtraComponent>();
// 메서드 호출로 값 가져오기
const count = extraComponent.GetCount();
// 메서드 호출로 값 설정하기
extraComponent.SetCount(0);
// 공용 속성 가져오기
const resultString = extraComponent.stringProperty;
다음은 가져온 TypeScript를 보여주는 샘플 코드입니다.
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Text } from 'UnityEngine.UI';
// 경로에서 사용자 정의 스크립트 가져오기
import ExtraComponent from './lib/ExtraComponent';
export default class ScriptImport extends ZepetoScriptBehaviour {
public resultUI: Text;
private extComponent: ExtraComponent;
Start() {
// 스크립트 컴포넌트 추가
this.gameObject.AddComponent<ExtraComponent>();
this.extComponent = this.gameObject.GetComponent<ExtraComponent>();
}
Update() {
// 메서드 호출로 값 가져오기
const count = this.extComponent.GetCount();
if (count > 10) {
// 메서드 호출로 값 설정하기
this.extComponent.SetCount(0);
}
// 공개 속성 가져오기
const resultString = this.extComponent.stringProperty;
// 결과 출력
console.log(`result : ${resultString}`);
this.resultUI.text = resultString;
}
}
ExtraComponents에 대한 샘플 코드입니다.
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class ExtraComponent extends ZepetoScriptBehaviour {
public stringProperty: string;
private message: string;
private count: int;
Start() {
this.message = "안녕 제페토!";
this.count = 0;
}
Update() {
this.stringProperty = `${this.message} : ${this.count++}`;
}
GetCount() {
return this.count;
}
SetCount(newCount: int) {
this.count = newCount;
}
}
아래의 테스트 코드 출력 화면을 확인하세요.

2-10-1 (1).png