---
title: property
slug: world-sdk-guide-ja/property
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

ZEPETOScriptによって公開されているプロパティをチェックしてください。

プロパティは、インスペクターで編集できるコンポーネントの設定とオプションです。

プロパティを使用すると、GameObjectsや他のコンポーネントの状態とデータを管理し、外部からのアクセスを制御できます。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-TtjUD0w2FHG0Fzi7jl0ns-20240904-102418.png)



ZEPETOScriptはTypeScriptをプログラミング言語として基にしており、
そのため、プロパティ宣言には以下の構文が使用されます。

:::CodeblockTabs
property

```typescript
AccessModifier propertyName: propertyType;

ex)
public playerNumber: float;
private playerLocation: Vector3;
```
:::



この方法で宣言されたプロパティはインスペクタに表示され、そこに値やオブジェクトを割り当てることができます。

割り当てた値は、後でランタイムで初期化されます。

:::CodeblockTabs
プロパティ

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Vector3, GameObject, Transform } from 'UnityEngine';
 
export default class Properties extends ZepetoScriptBehaviour {
 
    public floatValue: float;
    public strValue: string;
 
    public gameObj: GameObject;
    public transformValue: Transform;
    public vectorValue : Vector3;
 
}
```
:::



::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-Hrd5sbtJqT96or1zaz0yy-20240904-102418.png" size="84" width="455" height="249" position="center" showCaption="false"}



ZEPETOScript内からプロパティにアクセスするには、this.property Nameを使用します。

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Vector3, GameObject, Transform } from 'UnityEngine';
 
export default class Properties extends ZepetoScriptBehaviour {
 
    public floatValue: float;
    public strValue: string;
 
    public gameObj: GameObject;
    public transformValue: Transform;
    public vectorValue : Vector3;
     
     
    Start() {
        console.log(`floatValue : ${this.floatValue}`);
        console.log(`strValue : ${this.strValue}`);
    }
     
    Update() {
        // Cube_Aを回転させる
        const transform = this.gameObj.GetComponent<Transform>();
        transform.Rotate(this.vectorValue);
 
        // Cube_Bを回転させる
        this.transformValue.Rotate(this.vectorValue);
    }
}
```



複数のプロパティを使用する場合は、ZEPETOScriptの配列で宣言してください。

プロパティはインスペクタの配列に表示され、異なる要素のデータを入力できます。

:::CodeblockTabs
TypeScript

```typescript
public floatValues: float[];
```
:::



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-PCNPiBl9Tz6_AV7hH1dwk-20240904-102418.png)



スクリプトで属性を宣言すると、インスペクタでプロパティを制御できます。

:::CodeblockTabs
property

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Transform } from 'UnityEngine';
 
export default class Attribute extends ZepetoScriptBehaviour {
 
    // シリアライズする必要のないパブリックプロパティ
    @NonSerialized()
    public strValue: string;
 
// インスペクタに表示されるべきでないプロパティ
    @HideInInspector()
    public strValue2: string;
 
// シリアライズする必要のあるプライベートプロパティ
    @SerializeField()
    private strValue3: string;
 
// プロパティの上にヘッダーを追加
    @Header("ヘッダータイトル")
    public stringProperty: string;
 
// プロパティの間にスペースを追加
    @Space(10)
    public numberProperty: number;
 
// プロパティにマウスを置いたときに表示されるツールチップを追加
    @Tooltip("これはツールチップです")
    public transformProperty: Transform;
 
    Start() {   
 
    }
 
}
```
:::



属性が適用されたときの例の画面は以下の通りです。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-W3aT5oQs4enuO-f2RKvI4-20240904-102418.png)



ZEPETOScriptで利用可能な属性については、以下のガイドを参照してください。

:::hint{type="info"}
**📘&#x20;**&#x4EE5;下のガイドを参照してください。 \[[ZEPETOワールドで利用可能なUnity関数のリスト](docId\:QDwuUGKrfofoF26lofjH6)]
:::

