---
title: สคริปต์อิมพอร์ต
slug: world-sdk-guide-th/QEMhEWM9BYMoMuN_p21HX
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

นอกจากการเชื่อมต่อกับ GameObject แล้ว ZEPETOScript สามารถใช้โดยตรงจากสคริปต์อื่นได้

คุณสามารถนำเข้าและใช้ ZEPETOScript ได้ง่ายๆ เช่นเดียวกับที่คุณใช้ไลบรารีหรือโมดูล ในไวยากรณ์ TypeScript คุณต้องใช้เส้นทางสัมพัทธ์ไปยังไฟล์ ZEPETOScript

พิจารณาสถานการณ์ด้านล่าง หากคุณต้องการนำเข้า ExtraComponent ไปยัง ScriptImport คุณจะต้องใช้ไวยากรณ์ดังต่อไปนี้

ตัวอย่างต่อไปนี้เป็นการประกาศใน ScriptImport.ts เพื่อเรียก ExtraComponent.TS ที่ตั้งอยู่ในโฟลเดอร์ lib

:::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 อื่น
- โปรดทำความคุ้นเคยกับการใช้สัญลักษณ์เส้นทางสัมพัทธ์
- `./` หมายถึงไดเรกทอรีปัจจุบัน
- `../` หมายถึงไดเรกทอรีแม่ หมายถึงไดเรกทอรีที่อยู่หนึ่งระดับขึ้นไปจากไดเรกทอรีปัจจุบัน
:::



คุณสามารถเข้าถึงฟังก์ชันและตัวแปรที่ส่งออกซึ่งประกาศในสคริปต์ที่นำเข้าได้โดยการอ้างอิงโดยตรง เช่นที่แสดงในตัวอย่าง

```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 = "สวัสดี zepeto!";
        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")

