---
title: スクリプトインポート
slug: world-sdk-guide-ja/NUiUNPzS-aSMqxCxcox5J
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

GameObjectにアタッチされている以外に、ZEPETOScriptは他のスクリプトから直接使用できます。

ZEPETOScriptをライブラリやモジュールのようにインポートして使用できます。TypeScriptの構文では、ZEPETOScriptファイルへの相対パスを使用する必要があります。

以下の状況を考慮すると、ExtraComponentをScriptImportにインポートしたい場合は、次の構文を使用する必要があります。

以下の例は、libフォルダーにあるExtraComponent.TSを呼び出すためのScriptImport.tsでの宣言です。

:::CodeblockTabs
TypeScript

```typescript
import ExtraComponent from './lib/ExtraComponent';
```
:::



::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-HSSAVN3PdE6c87FlgO8hV-20240904-102417.png" size="42" width="200" height="80" position="center" showCaption="false"}

:::hint{type="success"}
## 👍 ヒント

- 別のTSファイルをインポートする際は、パスを正しく指定することが重要です。
- 相対パスの表記に慣れてください。
- `./`は現在のディレクトリを示します。
- `../`は親ディレクトリを示し、つまり現在のディレクトリの1つ上のレベルのディレクトリです。
:::



インポートしたスクリプトで宣言されたエクスポートされた関数や変数には、サンプルのように直接参照することでアクセスできます。

```typescript
this.gameObject.AddComponent<ExtraComponent>();
const extraComponent = this.gameObject.GetComponent<ExtraComponent>();

// メソッド呼び出しで値を取得
const count = extraComponent.GetCount();
// メソッド呼び出しで値を設定
extraComponent.SetCount(0);
// 公開プロパティを取得
const resultString = extraComponent.stringProperty;
```



以下は、インポートされたTypeScriptを示すサンプルコードです。

```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のサンプルコードです。

```typescript
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;
    }

}
```



以下のテストコード出力画面を確認してください。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-fJN9RjCNK8pElFEigtqJ6-20240904-102417.png "2-10-1 (1).png")

