u`
EQ[JҁFp.180uCollider 2DR|[lgŏՓ˔v
E@ҁFûRXgN^vuC^[tFCXv

p.180 Collider 2DR|[lgŏՓ˔

ECollider2DF2DQ[vCŎgpRC_[^̐eNX
Ep.180A[Open Prefub][Open]
Ep.181@uPhysics 2DṽNbN͕svŇAɐi
Ep.181A[Open Prefub][Open]
Ep.183@uBox.csv쐬ˁuAdd ComponentvuNew ScriptvuBoxvuCreate and addvuFvuEdit Scriptv

p.183 ؂Box̏Փ˔̃XNvgFOnTriggerEnter2D

EOnTriggerEnter2D(Collider2D)\bhFMonoBehaviourNXBoxNXp
EIuWFNgɃA^b`gK[̒ɕʂ̃IuWFNgƂɌĂяoB
EIuWFNgɊւڍׂȏ͌ĂяoɓnCollider2D^̈ɑB
ECollider2DNXBoxCollider2DNXCircleCollider2DNX̊{NXȂ̂ŁAǂ̌^̃IuWFNgACollider2D^̈ň

p.184 Box.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //Textp

public class Box : MonoBehaviour {
    public Text scoretext; //XRAp̃pubNϐ
    int score = 0; //XRA
    void OnTriggerEnter2D(Collider2D other) { //ColliderɌĂ΂郁\bh
        Vegetable.Type typeA = GetComponent<Vegetable>().type; //Typep.157Q
        Vegetable.Type typeB = other.GetComponent<Vegetable>().type; //ʂ𓾂
        if (typeA == typeB) { //ʂvH
            score++; //XRAAbv
            scoretext.text = score.ToString(); //XRA𕶎񉻂Ċi[
            Destroy(other.gameObject); //
        }
    }
}

p.187 GetComponent\bhŃR|[lg擾

EVegetable.Type typeA = GetComponent<Vegetable>().type;
EVegetable.TypéAp.157uVegetable.csvŒ`񋓂Ȃ̂typeA͗񋓌^ɂȂ
EGetComponent̓WFlbN\bh(^wł郁\bh)MonoBehaviourNXBoxNXp
ETransformR|[lgtransformvpeB(p.145)œ邪AȊO͂p
EGetComponent\bhł́AWFlbNp[^ɂĎ擾R|[lǧ^w肷

EVegetable.Type typeB = other.GetComponent<Vegetable>().type;
Euother.v́uŎ󂯎́vƂӖ
EGetComponent\bh͎擾snull()ԂŃG[I͂Ȃ

p.189 𑝂₵Boxɓ؂폜

Escoretext.text = score.ToString();
EscoretextUnityEngine.UI.TextNX̃IuWFNgŁAʏɕ\d|񋟂
Escoretext.text͂string^vpeBŕ\镶񂻂̂̂
EToString()\bhC#̑SIuWFNg\bhŁASNẌÖق̊{NXłobjectNX̃\bhB
Eint^łscore͓IInt32\̂ƂȂĂA̒ToString()\bhI[o[ChĐl𕶎ɕϊĕԂĂ
EȂ̂ŕɑ΂2+ZqŘAĂʂɂȂ

EDestroy(other.gameObject);
EDestroy\bhMonoBehaviourNXBoxNXp
Eother͈Ŏ󂯎(Collider2D^)ŁAgameObjectvpeBɂAGameObject

yQlzp.190 C#̖KɊւ

EʓIɃNXA\bhA񋓖A\̖Ȃǂ͐擪啶ɂ
EʓIɕϐAvpeBȂǂ͐擪ɂ
E啶P̖ÓiWFlbŇ^p[^āj邱Ƃ
EP̖ÓAĝĂ̕ϐ݂̂ɐ邱Ƃ
@F for (int i; i < n; i++) in

p.190 ؂̎ނƊ֘ATextw肷

Ep.191AuText(Regacy)vBox́uScoretextvɃhbOhbv
Ep.191DuText(Regacy)(1)vBox(1)́uScoretextvɃhbOhbv

Q[JҎ\Fp.192uǂ̃vnu쐬v犮܂
@ ŏI3DQ[JTvpK̗\

@ҁFûRXgN^vuC^[tFCXv

̂RXgN^

ENX\̂ɂāAIuWFNg̐ɎIɎŝRXgN^
EIuWFNg̐ɂĂقƂ΁AŃRXgN^ƂŁAIuWFNg̐ɎsĂ炦
E\bhƓlɁARXgN^ɂ0ȏwł
Eunew NX()ṽJbRɒl⎮w肷ƁA̐ƌ^ɑΉRXgN^Ăяo
EF public NX(int i) { Debug.Log(i); } ƂRXgN^΁A
@NX Qƕϐ = new NX(l␮); ƐƌĂяo
E\bh̃I[o[[h(̐ƌ^ႦΓ̂̂𕡐`ł)̓RXgN^l
EāÃRXgN^Ăяop^[̕`ĂƂł
EɁAɃf[^oɗ^l󂯎RXgN^쐬邱Ƃ

~jK mini03031

ESlime0303NX`Bf[^ostring nameAint hpƂ
ERXgN^()łname""Ahp10Ő
ERXgN^(string n)łnamenAhp10Ő
ERXgN^(int h)łname""AhphŐ
ERXgN^(string n, int h)łnamenAhphŐ
EOhp\show\bhSlime0303NXɒ`ėp悤
EStart\bh4p^[păXCSC𐶐show\bhŕ\悤

쐬

using UnityEngine;
class Slime0303 {
    string name;
    int hp;
    public void show() { //OHPo
        Debug.Log("OF" + name + " HPF" + hp);
    }
    public Slime0303() { //ftHgRXgN^
        name = ""; hp = 10;
    }
    public Slime0303(string n) { //RXgN^(Ô)
        name = n; hp = 10;
    }
    public Slime0303(int h) { //RXgN^(hp̂)
        name = ""; hp = h;
    }
    public Slime0303(string n, int h) { //RXgN^(OHP)
        name = n; hp = h;
    }
}
public class mini03031 : MonoBehaviour {
    void Start() {
        Slime0303 suralin = new Slime0303();
        suralin.show();
        Slime0303 hoimin = new Slime0303("zC~");
        hoimin.show();
        Slime0303 behoimin = new Slime0303(200);
        behoimin.show();
        Slime0303 rimuru = new Slime0303("", 500);
        rimuru.show();
    }
}

̂RXgN^F

E\bḧ̏ꍇƓlɃRXgN^Œl̃`FbNsƂŁAf[^oɕsK؂Ȓli[邱ƂhƂł

F

using UnityEngine;
class Slime0303 {
    string name;
    int hp;
    public void show() { //OHPo
        Debug.Log("OF" + name + " HPF" + hp);
    }
    public Slime0303(string n, int h) { //RXgN^(OHP)
        name = n;
        if (h > 0) { //HP̐łΗp
            hp = h;
        }
    }
}
public class mini03031 : MonoBehaviour {
    void Start() {
        Slime0303 rimuru = new Slime0303("", -500);
        rimuru.show();
    }
}

WFlNX\bh

ECȂǂł͓eł^f[^̌^ႤꍇÄႢ̐OقȂ֐(\bh)쐬KvB
EC#Ȃǂł́AI[o[[hɂAÕ\bhɂł
EāA^󂯎邱Ƃł̂WFlNX\bh
EWFlNX\bhC#Unity񋟂̂邪AvO}삷邱Ƃł
E^󂯎ϐɊŶ^p[^ŁAWFlbNp[^Ƃ
EWFlNX\bh삷ꍇA^p[^͑啶TȂǂp邱Ƃ

WFlNX\bh̗FQl̗o͂Log2\bh

Eint^pɍƁF public void Log2(int a, int b) { Debug.Log(a); Debug.Log(b); }
EWFlNX\bhɂ
@F public void Log2<T>(T a, T b) { Debug.Log(a); Debug.Log(b); }
EĂяóF Log2<int>(10, 20);
Ê܂܎ɂāF Log2<double>(3.14, 2.12);

oF~jK mini03032.cs

EL̃WFlNX\bh̗vO낤

@Ҏ\FWFlbNRNVNXAC^[tFCXȂ
