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

p.192 ǂ̃vnu쐬

E@[Create]ˁu{v
EA[2D Object][Sprite][2D Object][Sprites][Square]
EB̖O̕ύX́A߂Ă܂ƂAĎŃgCƗǂ
EDuAdd ComponentvuPhysics 2DvuBoxCollider 2Dv

p.193 XNvggĕǂzu

E@[Create]ˁu{v
EBuAdd ComponentvuNew ScriptvuManagervuCreate and addvuFvuEdit Scriptv
EE[Size]uxF0.7vuyF0.16vɂ

p.194-195 Manager.cs 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Manager : MonoBehaviour {
    public GameObject wallpfb; //ǂ̃vnũpubNϐ
    void Start() {
        for (int x = 0; x < 5;  x++) {
            for (int y = 0; y < 4; y++) { 
                Vector3 pos = new Vector3(); //IuWFNg𐶐
                pos.x = x * 1.2f - 2.4f; //XWтɐݒ
                pos.y = 2.5f - y; //YWcтɐݒ
                Instantiate(wallpfb, pos, Quaternion.identity); //]
            }
        }        
    }
}

p.198 XNvggWall]

EA[Open Prefab]ˁuOpenv
EBuAdd ComponentvuNew ScriptvuWallvuCreate and addvuFvuEdit Scriptv

p.201 Wall.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Wall : MonoBehaviour {
    public bool clockwise = true; //vpubNϐ
    void Update() {
        if (clockwise) { //vȂ
            transform.Rotate(new Vector3(0, 0, -5)); //Zɉ]
        } else { //vłȂ
            transform.Rotate(new Vector3(0, 0, 5)); //Zɉ]
        }
    }
}

p.202 Manager.csE

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Manager : MonoBehaviour {
    public GameObject wallpfb; //ǂ̃vnũpubNϐ
    void Start() {
        for (int x = 0; x < 5;  x++) {
            for (int y = 0; y < 4; y++) { 
                Vector3 pos = new Vector3(); //IuWFNg𐶐
                pos.x = x * 1.2f - 2.4f; //XWтɐݒ
                pos.y = 2.5f - y; //YWcтɐݒ
                GameObject obj = Instantiate(wallpfb, pos, Quaternion.identity); //]
                Wall wall = obj.GetComponent<Wall>(); //ǂ̃R|[lg𓾂
                if (y % 2 == 0) { //s(0sڂ2s)H
                    wall.clockwise = true; //v
                } else { //s(1sڂ3s)H
                    wall.clockwise = false; //v
                }
            }
        }        
    }
}

p.205 Q[ʂ́uv쐬

Ep.205@[Create]ˁu{vA[2D Object][Sprite][2D Object][Sprites][Square]
Ep.205A̖O̕ύX́A߂Ă܂ƂAB̌ŃgCƗǂ
Ep.205B̌ŁASpriteRndererSpriteuBackgroundvɂ(̕ɂ)

Ep.205@uAdd ComponentvuPhysics 2DvuBoxCollider 2Dv
Ep.206@̎sAʏCtrlL[Ȃ}EX̃zC[񂵂邱ƂŔ{Ɖ̃IuWFNgmFł

Ep.206@uAdd ComponentvuNew ScriptvuBottomvuCreate and addvuFvuEdit Scriptv

p.206 Bottom.cs 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bottom : MonoBehaviour {
    void OnTriggerEnter2D(Collider2D other) { //Փ˂
        Destroy(other.gameObject); //
    }
}

p.208 UnityXNvgt@XŃNX𒲂ׂ悤

EUnity2022.3o[W̏ꍇ̃AhX́F
  https://docs.unity3d.com/ja/2022.3/ScriptReference/index.html
EpJnOɁAo[Wԍ킹邱ƁiUnity̓o[Wɂ鍷قj

p.211 MicrosoftЂC#hLg

E{ł̃AhX́F
@https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
Eʂɂ́AC#Ƌ.NETt[[N\錾łVisual Basic̎܂܂̂Œ

@ҁFWFlbNRNVNXAC^[tFCXȂ

RNVNX

ERNVƂ̓f[^\\dg݁B
EFz͓^̃f[^܂Ƃ߂Ĕԍ(Y)ňdg
@\Fz[0]Az[1]Az[2]Ac
EFR[h͕̍ڂ琬Ps̃C[W̏Ō^͈قȂėǂAږKv
@\Fuږ@AږAAcvł
EFXg͓^̃f[^܂Ƃ߂ďԂňdg
@\Fvf@˗vfA˗vfBˁc
ERNVNXFRNV߂̃NXŁAC#VXe񋟂Ă
EC#Ȃǂł́Az͌dlɊ܂܂Ă̂ŁANX͕svŕ֗Až_ɒӂKv
@FvfύXsAr}폜sɂ͌㑱vfSĂ̈ړKv Ȃ
EŁAC#Ȃǂł͔zɑRNVNXƂArrayListNX񋟂Ă
@p@F using System.Collections; w(Unitył̓ftHg)
@@F ArrayList ϐ = new ArrayList(); //vf͎wsvŎg/k
@i[@F ϐ.Add(vfl) \bh
@vfF ϐ.Count vpeBœ
@@F zƓl ϐ[Y]

~jK mini0310a.cs

EMonstersƂArrayList𐶐AKȕi[
Evf𓾂āAi[SvfDebug.Log悤

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class mini0310a : MonoBehaviour {
    void Start() {
        ArrayList monsters = new ArrayList(); //
        monsters.Add("Veldra"); //vfǉ
        monsters.Add("VelGrimnd"); //vfǉ
        monsters.Add("VelZerd"); //vfǉ
        Debug.Log("vfF" + monsters.Count); //vpeBœ
        for (int i = 0; i < monsters.Count; i++) { //SvfJԂ
            Debug.Log(i + "F" + monsters[i]);
        }
    }
}

~jK mini0310a.csE

Ep.118foreachpăVvɂ悤
Eƕϐ̌^͓^varɂƗǂ
EY͗pȂ̂Łuiv̕\͕svƂAvf̖Ô݂ŗǂ

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class mini0310a : MonoBehaviour {
    void Start() {
        ArrayList monsters = new ArrayList(); //
        monsters.Add("Veldra"); //vfǉ
        monsters.Add("VelGrimnd"); //vfǉ
        monsters.Add("VelZerd"); //vfǉ
        Debug.Log("vfF" + monsters.Count); //vpeBœ
        foreach (var w in monsters) { //SvfJԂ
            Debug.Log(w);
        }
    }
}

WFlbNRNVNX

ERNVNXłArrayList͊i[f[^̌^uobjectvɂĂ܂ƂŁAǂȌ^̃f[^i[ł
EAvfoėpƂɌ^킩Ȃ̂ŕsɂȂ
EŁA^wł悤ɂ̂AWFlbNRNVNXłList<T>
EList<T>NXpƁAzƓlɌ^߂RNV𗘗pł
EȂA\bhvpeBArrayListNXƂقړl
@p@F using System.Collections.Generic; w(Unitył̓ftHg)
@@F List<^> ϐ = new List<^>(); //vf͎wsvŎg/k
@i[@F ϐ.Add(^vvfl) \bh
@vfF ϐ.Count vpeBœ
@@F zƓl ϐ[Y]

~jK mini0310b.cs

EMonstersƂList<string>𐶐AKȕi[
Evf𓾂ĕ\AforeachŊi[SvfDebug.Log悤

쐬

using System.Collections;
using System.Collections.Generic; //List<T> p
using UnityEngine;
public class mini0310b : MonoBehaviour {
    void Start() {
        List<string> monsters = new List<string>(); //
        monsters.Add("Rimuru"); //vfǉ
        monsters.Add("Shuna"); //vfǉ
        monsters.Add("Sion"); //vfǉ
        Debug.Log("vfF" + monsters.Count); //vpeBœ
        foreach (var w in monsters) { //SvfJԂ
            Debug.Log(w);
        }
    }
}

C^[tFCX

ËӖ́uقȂvfȂdg݁v
EC#Ȃǂ̃IuWFNgwł́u֌WȃNX֘Atdg݁vŃNX̐i\Ƃł
EႦ΁AhSNXF14NX͌p֌Wɂ͂ȂȂuԂ́vƂC^[tFCX邱ƂŁAIuWFNg܂Ƃ߂Ĉ
EC^[tFCX͒ۃNXƓlɒ`łBg͋łǂ
EF interface FlyAble {} //Ԃ̂C^[tFCX
ENXɃC^[tFCXт邱ƂƂApƓłł
EF class Dragon : FlyAble {c} //Ԃ̂łhSNX̒`
EF class F14 : FlyAble {c} //Ԃ̂łF14NX̒`
EC^[tFCXNX̃IuWFNg͂܂Ƃ߂Ĉ
EႦ΁AC^[tFCX^Ƃzɓ
F
@Dragon Veldra = new Dragon();
@F14 Blue = new F14();
@FlyAble[] flyers = {Veldra, Blue}; //Ԃ̂̔zɊi[ł

oF~jK mini0310b.cs

\FUnity3DQ[̊J̌AiԂ΁jC^[tFCX̗pȂ
