u`
Ep.130 Q[IuWFNgAR|[lgANX

p.130 Q[IuWFNgƃXNvg

E_\i_IȊKw\jFV[Q[IuWFNgR|[lgXNvg
@F SampleScene  GameObject  Transform  Chap2_3_1
E\iۂ̃t@C̔zujFvWFNg  AZbg  XNvgƃV[
@F hirano1029vWFNgtH_  AssetstH_  Chap2_3_1.cst@CScenestH_

p.131 Q̃\bh̖

EXNvg\̂̓NX(FChap2_3_1)ƃ\bh(FStartAUpdate)
E\bh͏eLqubNŁA{
u߂l^ \bh(Xg)oepvƂȂĂ
E\bh0ȏ̏󂯎ĉs0܂1̏Ԃd|B
E0̏ԂԂȂ\bh͖߂l^void()w肷
E0̏󂯎遁󂯎Ȃ\bh͈Xgɂ(JbR݂̂ɂ)
EāAUnity߂ĂStart\bh̏́uvoid Start(){c}vƂȂĂ
EStart\bhUnityp̓ʂȃ\bhŁAUnityVXeĂяoĂB
EĂяóuvoid Start()vōŝŖ߂l^Xg͕ύXłȂ
EĂяo^C~O̓AvJnŁuQ[IuWFNgV[ɏoƂv
EȂAoɈ莞ԂƂɌJԂČĂяôuvoid Update()v

p.132 NX̍

EC#Ȃǂ̃IuWFNgẃANX\PʂƂăvO쐬
ENX͐݌v}̃C[WŁAŜ̐݌v}ƂȂNX΁Ai\̐݌v}ƂȂNX쐬ł
EAUnity̏ŎsSNXɂ̓[Aɏ]NX쐬AUnityĂяo郁\bhLqΓ삳Ă炦
EUnity̏ŎsSNXɂ̓[F
@@ MonoBehaviour{NXƂČp邱
@A O猩悤Ɂupublicvw肷邱
E`F public NX : MonoBehaviour {c}
EpɂiȂj̃\bhIɈpēIɓ삵Ă

⑫FNXƌpɂ

ENX͒PƂɂRɒ`łiC̍\̂Ɠlj
EF
class Slime { //XCNX̒`
  public int hp; //HP
  public string name; //O
  public void show() { //OHPo͂郁\bh
    Debug.Log("OF" + name + ",HPF" + hp);
  }
}

~jK mini133

EL̃NXupublic class mini133 {v̏ɑ}
EStart\bh̒ŁALsAmF悤
  Slime Rimuru = new Slime(); //XCNXIuWFNg𐶐
  Rimuru.hp = 100; //HPZbg
  Rimuru.name = ""; //OZbg
  Rimuru.show(); //OHPo

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Slime { //XCNX̒`(mini133NXp镔iNX)
    public int hp; //HP
    public string name; //O
    public void show() { //OHPo͂郁\bh
        Debug.Log("OF" + name + ",HPF" + hp);
    }
}
public class mini133 : MonoBehaviour { //Unitył̎spNX
    void Start() { //UnityVXeJnɌĂяo郁\bh
        Slime Rimuru = new Slime(); //XCNXIuWFNg𐶐
        Rimuru.hp = 100; //HPZbg
        Rimuru.name = ""; //OZbg
        Rimuru.show(); //OHPo͂郁\bhĂ
    }
    void Update() {

    }
}

⑫FNXƌpɂāij

EPƂɎRɒ`NXpł
EF
class Slime { //XCNX̒`
  public int hp; //HP
  public string name; //O
  public void show() { //OHPo͂郁\bh
    Debug.Log("OF" + name + ",HPF" + hp);
  }
}
class HoimiSlime : Slime { //zC~XCNX̒`(XCp)
  // public int hp; //HPp
  // public string name; //Op
  // public void show() { //OHPo͂郁\bhp
  //  Debug.Log("OF" + name + ",HPF" + hp);
  // }
  public int mp; //MPǉ
  new public void show() { //OHPMPo͂郁\bhɂď㏑
    Debug.Log("OF" + name + ",HPF" + hp + ",MPF" + mp);
  }
}

~jK mini133E

EL̃zC~XCNXupublic class mini133 {v̏ɑ}
EStart\bh̓eɁALɏāAmF悤
  HoimiSlime Hoimin = new HoimiSlime(); //zC~XCNXIuWFNg𐶐
  Hoimin.hp = 10; //HPZbg
  Hoimin.mp = 500; //HPZbg
  Hoimin.name = "zC~"; //OZbg
  Hoimin.show(); //OHPMPo

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Slime { //XCNX̒`(mini133NXp镔iNX)
    public int hp; //HP
    public string name; //O
    public void show() { //OHPo͂郁\bh
        Debug.Log("OF" + name + ",HPF" + hp);
    }
}
class HoimiSlime : Slime { //zC~XCNX̒`(XCp)
    // public int hp; //HPp
    // public string name; //Op
    // public void show() { //OHPo͂郁\bhp
    //  Debug.Log("OF" + name + ",HPF" + hp);
    // }
    public int mp; //MPǉ
    new public void show() { //OHPMPo͂郁\bhɂď㏑
        Debug.Log("OF" + name + ",HPF" + hp + ",MPF" + mp);
    }
}
public class mini133 : MonoBehaviour { //Unitył̎spNX
    void Start() { //UnityVXeJnɌĂяo郁\bh
        Slime Rimuru = new Slime(); //XCNXIuWFNg𐶐
        Rimuru.hp = 100; //HPZbg
        Rimuru.name = ""; //OZbg
        Rimuru.show(); //OHPo͂郁\bhĂ

        HoimiSlime Hoimin = new HoimiSlime(); //zC~XCNXIuWFNg𐶐
        Hoimin.hp = 10; //HPZbg
        Hoimin.mp = 500; //HPZbg
        Hoimin.name = "zC~"; //OZbg
        Hoimin.show(); //OHPMPo͂郁\bhĂ
    }
    void Update() {

    }
}

⑫FNXƌpɂāij

EuzC~XC̓XCłvƂł킩悤ɁApNXŐIuWFNǵA{NX̃IuWFNgƂĂ
EāASlime^̔zɃzC~i[ł
@F Slime[] slimes = { Rimuru, Hoimin }; //XC̔zɊi[
EāAXCNX̃\bhsł
@F slimes[0].show(); //Rimuru̖OHP\
@F slimes[1].show(); //Hoimin̖OHP\

~jK mini133E2

EL̂RsStart()ɒǋLēmF悤

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Slime { //XCNX̒`(mini133NXp镔iNX)
    public int hp; //HP
    public string name; //O
    public void show() { //OHPo͂郁\bh
        Debug.Log("OF" + name + ",HPF" + hp);
    }
}
class HoimiSlime : Slime { //zC~XCNX̒`(XCp)
    // public int hp; //HPp
    // public string name; //Op
    // public void show() { //OHPo͂郁\bhp
    //  Debug.Log("OF" + name + ",HPF" + hp);
    // }
    public int mp; //MPǉ
    new public void show() { //OHPMPo͂郁\bhɂď㏑
        Debug.Log("OF" + name + ",HPF" + hp + ",MPF" + mp);
    }
}
public class mini133 : MonoBehaviour { //Unitył̎spNX
    void Start() { //UnityVXeJnɌĂяo郁\bh
        Slime Rimuru = new Slime(); //XCNXIuWFNg𐶐
        Rimuru.hp = 100; //HPZbg
        Rimuru.name = ""; //OZbg
        Rimuru.show(); //OHPo͂郁\bhĂ

        HoimiSlime Hoimin = new HoimiSlime(); //zC~XCNXIuWFNg𐶐
        Hoimin.hp = 10; //HPZbg
        Hoimin.mp = 500; //HPZbg
        Hoimin.name = "zC~"; //OZbg
        Hoimin.show(); //OHPMPo͂郁\bhĂ

        Slime[] slimes = { Rimuru, Hoimin }; //XC̔zɊi[
        slimes[0].show(); //[0]łRimuru̖OHP\
        slimes[1].show(); //[1]łHoimin̖OHP\
    }
    void Update() {

    }
}

⑫FNXƌpɂāij

EXC^̔zɊi[HoiminIuWFNg͂ƂƂ̓zC~XCȂ̂ŁAshow\bhsƁAHoimiSlimeNXŒ`sĂق
E̍l𑽑Ԑi|tBYjƂ
ÊI[o[ChŁA\bh̏㏑Łunewv̑ɁuoverridevpubličɓOK
E܂AI[o[Ch鑤SlimeNX̃\bhɂ́uvirtualvpubličɓăI[o[Ch邱
E{IɂnewI[o[ChpʓIB

~jK mini133E3

EHoimiSlimeNXshow()\bhI[o[ChɕύXēmF悤

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Slime { //XCNX̒`(mini133NXp镔iNX)
    public int hp; //HP
    public string name; //O
    public virtual void show() { //OHPo͂郁\bh(I[o[Ch)
        Debug.Log("OF" + name + ",HPF" + hp);
    }
}
class HoimiSlime : Slime { //zC~XCNX̒`(XCp)
    // public int hp; //HPp
    // public string name; //Op
    // public void show() { //OHPo͂郁\bhp
    //  Debug.Log("OF" + name + ",HPF" + hp);
    // }
    public int mp; //MPǉ
    public override void show() { //OHPMPo͂郁\bhɂăI[o[Ch
        Debug.Log("OF" + name + ",HPF" + hp + ",MPF" + mp);
    }
}
public class mini133 : MonoBehaviour { //Unitył̎spNX
    void Start() { //UnityVXeJnɌĂяo郁\bh
        Slime Rimuru = new Slime(); //XCNXIuWFNg𐶐
        Rimuru.hp = 100; //HPZbg
        Rimuru.name = ""; //OZbg
        Rimuru.show(); //OHPo͂郁\bhĂ

        HoimiSlime Hoimin = new HoimiSlime(); //zC~XCNXIuWFNg𐶐
        Hoimin.hp = 10; //HPZbg
        Hoimin.mp = 500; //HPZbg
        Hoimin.name = "zC~"; //OZbg
        Hoimin.show(); //OHPMPo͂郁\bhĂ

        Slime[] slimes = { Rimuru, Hoimin }; //XC̔zɊi[
        slimes[0].show(); //[0]łRimuru̖OHP\
        slimes[1].show(); //[1]łHoimin̖OHP\
    }
    void Update() {

    }
}

⑫FNXƃvpeBɂ

ENXɂ̓\bhƎd|̃vpeB`ł
EvpeB͑ƂӖAC#ł͕ϐɌ郁\bhŁA◘pɃ[𐷂荞߂d|
EႦ΁Ag0ȉ̒lė~ȂꍇɁupublic int bl;vƂƖhȂ
EŁupublicvOāuint bl;vƂƊO爵ȂȂ
EɁupublic int BL { set { bl = value; } }vƃvpeBĂ
E[Ɨǂ
  public int BL { set { if (value > 0) {bl = value;} } } //vpeBBL̒`
ȄvpeBŁAvalueL[[hlɂȂ
ENXɂƁAÓuBL = 180;vŌĂяo
EȂAvpeBɂ͊O̗p\ɂugetvLqłBKvȂ΁F
@public int BL { get { return bl; } }vŗǂ
EāA܂Ƃ߂ƃvpeB̈ʌ`
  public ^ vpeB { set {  { ϐ = value; } } get { return ϐ; } }
@F public int BL { set { if (value > 0) {bl = value;} } get {return bl; } }

~jK mini133a

EMonsterNXɐg̐ϐblƁAvpeBBL`悤
EvpeBBodyLensetŐ݂̐̂ɐAget͖Ƃ
Emini133aNXŁAMonsterNX̃IuWFNgVeldra𐶐悤
EvpeBBodyLenpĐg100ZbgAvpeBBodyLenpďo͂悤
EꂩAvpeBBLpĐg-5ZbgAvpeBBodyLenpďo͂悤(ωȂ)

qgiMonsterNXj

class Monster {
  int bl; //g(O͗ps)
  public int BodyLen { //gvpeB(O͗p)
    set { if (value > 0) { bl = value; } } //͐̐̂݋
    get { return bl; } //p͎R
  }
}

qgimini133aNXStart\bh̓ej

Monster Veldra = new Monster(); //MonsterNX̃IuWFNgVeldra𐶐
Veldra.BodyLen = 100; //vpeBoRő(Isets)
Debug.Log(Veldra.BodyLen); //vpeBoRŗp(Igets)
Veldra.BodyLen = -5; //vpeBoRő(Isets)blɂ͑Ȃ
Debug.Log(Veldra.BodyLen); //vpeBoRŗp(Igets)100̂܂ܕςȂ

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Monster { //X^[\NX
    int bl; //g(O͗ps)
    public int BodyLen { //gvpeB(O͗p)
        set { if (value > 0) { bl = value; } } //͐̐̂݋
        get { return bl; } //p͎R
    }
}
public class mini133a : MonoBehaviour {
    void Start() {
        Monster Veldra = new Monster(); //MonsterNX̃IuWFNgVeldra𐶐
        Veldra.BodyLen = 100; //vpeBoRő(Isets)
        Debug.Log(Veldra.BodyLen); //vpeBoRŗp(Igets)
        Veldra.BodyLen = -5; //vpeBoRő(Isets)blɂ͑Ȃ
        Debug.Log(Veldra.BodyLen); //vpeBoRŗp(Igets)100̂܂ܕςȂ
    }
    void Update() {
        
    }
}

p.133iStart\bhUpdate\bhj

EUnitypӂĂMonoBehaviourNXpāAsp̃NX`d|C#̊{IȎdĝ݂܂
EAMonoBehaviourNX̂Start\bhUpdate\bh́AUnityƎ̎dg݂ɂĒ񋟂ĂAɂ̓\bhł͂ȂAbZ[WƌĂ΂dg݂ɂȂĂ
Ê߁Apă\bh㏑newoverride̋LqsvɂȂĂ

p.134 vWFNg쐬

EUnitỹo[WAbvɂύXĂ
@ Unity HubŁuVvWFNgv
Au2DRAvIсBvWFNg͂XN[_Eĕۑꏊ
Bu쐬v

p.135 X}[gtH̉ʃTCYɍ킹

EUnitỹo[WAbvɂύXĂ
E菇ĎŁAuScenevNbNACtrlL[Ȃ}EXzC[񂵂Ē̗̈Kxɑ傫

oFmini133a

\Fp.136uQ[Ŏgp摜pӂv

