Gamerch
あかさ

クラス

最終更新日時 :
1人が閲覧中
作成者: ユーザー98083
最終更新者: ユーザー98083

完成形

int A = Random.Range(1, 4);


if (A == 1) 敵キャラ 敵 = new スライム();

if (A == 2) 敵キャラ 敵 = new ゴブリン();

if (A == 3) 敵キャラ 敵 = new ゴーレム();


Debug.Log(敵.HP);

敵.攻撃();


どの敵でも HP や 攻撃() が使えるようになります。

敵というクラスの入れ物にスライムの中身を入れる。

継承したものの中身しか入れられない。


共通の親クラス

public class 敵キャラ

{

public int HP;

public int 攻撃力;


public virtual void 攻撃()

{

Debug.Log("敵が攻撃した!");

}

}


各クラスが親クラスを継承

public class スライム : 敵キャラ

{

public スライム()

{

HP = 10;

攻撃力 = 3;

}


public override void 攻撃()

{

Debug.Log("スライムの体当たり! ダメージ:" + 攻撃力);

}

}


public class ゴブリン : 敵キャラ

{

public ゴブリン()

{

HP = 20;

攻撃力 = 5;

}


public override void 攻撃()

{

Debug.Log("ゴブリンの斬りつけ! ダメージ:" + 攻撃力);

}

}


public class ゴーレム : 敵キャラ

{

public ゴーレム()

{

HP = 50;

攻撃力 = 10;

}


public override void 攻撃()

{

Debug.Log("ゴーレムのパンチ! ダメージ:" + 攻撃力);

}

}


説明

virtual:親クラス「このメソッドは上書きしていいよ」

override:子クラス「じゃあ上書きします」


クラスの中に直接 変数を書くことはできない。public スライム()のようなクラスと同じ名前のコンストラクターにいれる

コメント (クラス)
  • 総コメント数0
この記事を作った人
やり込み度

Wikiにゲームが紐づいていません

編集者紹介

未登録

注目記事
ページトップへ