u`
Ep.148uRigidBody2DR|[lgv

otH[F~jKFShooter.cs

Shooter.csȂǂɃRs[USBɕۑAǨɖ߂悤ɂĂ
EShooterE΂߉ɓAǂŔ˂悤ɂ悤
EmovemovexmoveyɂƗǂ
EE[A[ɗmovex̕𔽓]Ηǂ(0.05-0.05)
E[A[ɗmovey̕𔽓]Ηǂ(0.05-0.05)

AWO

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

public class Shooter : MonoBehaviour {
    float move = 0.05f; //PxϐĈړPʂƂ
    void Update() { //t[\ƂɎs
        Vector3 pos = transform.position; //ʒu𓾂
        pos.x += move; //XWɈړPʂ𑫂(Eړ)
        if (pos.x < -2.5f) { //[ɒBH
            move = 0.05f; //ړPʂ𐳂(͉Eړ)
        }
        if (pos.x > 2.5f) { //E[ɒBH
            move = -0.05f; //ړPʂ𕉂(͍ړ)
        }
        transform.position = pos; //ʒuɏ߂(ۂɈړ)
    }
    void Start() {

    }
}

쐬

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

public class Shooter : MonoBehaviour {
    float movex = 0.05f; //PxϐĈړPʂƂ
    float movey = 0.05f; //PxϐĈړPʂƂ
    void Update() { //t[\ƂɎs
        Vector3 pos = transform.position; //ʒu𓾂
        pos.x += movex; //yύXzXWɈړPʂ𑫂(Eړ)
        pos.y += movey; //yǉzYWɈړPʂ𑫂(ړ)
        if (pos.x < -2.5f) { //[ɒBH
            movex = 0.05f; //yύXzړPʂ𐳂(͉Eړ)
        }
        if (pos.x > 2.5f) { //E[ɒBH
            movex = -0.05f; //yύXzړPʂ𕉂(͍ړ)
        }
        if (pos.y > 5.0f) { //yǉz[ɒBH
            movey = -0.05f; //yǉzړPʂ𕉂(͉ړ)
        }
        if (pos.y < -5.0f) { //yǉz[ɒBH
            movey = 0.05f;   //yǉzړPʂ𕉂(͏ړ)
        }
        transform.position = pos; //ʒuɏ߂(ۂɈړ)
    }
    void Start() { //N̂ݎs
    }
}

p.148 RigidBody2DR|[lg

ER|[lg͎ɃvOîƂŁAUnity̏ꍇAVXe񋟂̂ƁA삷̂
EQƁF https://docs.unity3d.com/ja/2022.2/ScriptReference/Rigidbody2D.html

p.148 ؂̃Q[IuWFNg쐬B

@uScenevɐ؂ւ
AuHierarchyv́u{v
Bu2D ObjectvuSpritesvuSquarev
@O̕ύX́A߂Ă܂ƂAŃgCƗǂ
CuSpritesv́uSquarev̉ÉNbNutomatov_uNbN
D OuSquarevuVegetablevɕύX
EuAdd CompornentvNbNeLXg{bNXɂƈꗗ\
FuPhysics 2DvuRigidBody 2DvNbN
GuPositionvXu-1vYu1vɂ
H vC{^œmF

p.150 Q[̔wiFύX

EF̕\RGB(Red,Green,Blue)̂ꂼ̔zŌ߂
EʏAe256iK0,0,0A255,255,255AS16,777,216FIłB
@Fau(KDDI)̃SFKFRGBl R235 G85 B5
EȂARGB͌̎OFŁAfBXvC̐FwpB
Ev^ł͐F̎OF(CMY)pBC=VA(F)AM=}[^(Ԏ)AY=CG[()
Eۂ͑SFĂɂȂȂ̂ŁAv^łK=ubNǉ4FCN嗬B

p.153 vnu쐬

E܂uScenevɐ؂ւ邱

p.154 vnupvnu

Ep.1541sڂ́uBasev́uVariant ParentvɕςĂ
Ep.155ォ2sڂ́uOpen Prefubv́uOpenvɕςĂ

p.156 񋓌^𗘗pĖ؂̎ނ\^낤

Ep.1561sڂ́uOpen Prefubv́uOpenvɕςĂ

Ep.1572śuAdd ComponentvuNew ScriptvŁuVegtablevƓ͂u:vuEdit Scriptv

p.157 Vegetable.cs

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

public class Vegetable : MonoBehaviour {
    public enum Type { //Type񋓌^̒`
        Tomato, Gpepper, Broccoli, Potato //񋓃o̒`
    }
    public Type type; //Type񋓌^̃pubNϐtype̒`
}

⑫F񋓌^̗p@

EvOŕ̗vfAĈꍇAvfɔԍU邱Ƃ
E̔ԍɖOt̂񋓂ŁA܂Ƃ߂O[v񋓌^ɂȂ
E񋓌^Ɋ܂܂vf񋓃oi񋓎qjŁAIɐ擪珇0,1,2,3,c̐^Ă
EȂA擪̗񋓃oɁu = lvLq邱ƂŁAJnԍύXł
F擪jan1ɂ
    public enum Mname { //̗
        jan = 1, feb, mar, apl, may, jun, jul, org, sep, oct, nov, dec
    }
@ƁADebug.Log("Sep" + (int)Mname.sep + ""); ŁuSep9vƏo͂
E񋓃ointɃLXg邱ƂŁAꂼɂĂ͂߂ꂽl
Ez̓YƂėp邱Ƃł
F
   string[] season //G߂̔z(擪[0]̓_~[)
   = { "", "~", "~", "t", "t", "t", "", "", "", "H", "H", "H", "~" };
   Debug.Log("Sep" + season[(int)Mname.sep] + "ł"); //uSep͏Hłv

쐬iLshooter.csɏĎꍇj

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

public class Shooter : MonoBehaviour {
    float move = 0.05f; //PxϐĈړPʂƂ
    void Update() { //t[\ƂɎs
        Vector3 pos = transform.position; //ʒu𓾂
        pos.x += move; //XWɈړPʂ𑫂(Eړ)
        if (pos.x < -2.5f) { //[ɒBH
            move = 0.05f; //ړPʂ𐳂(͉Eړ)
        }
        if (pos.x > 2.5f) { //E[ɒBH
            move = -0.05f; //ړPʂ𕉂(͍ړ)
        }
        transform.position = pos; //ʒuɏ߂(ۂɈړ)
    }
    public enum Mname { //yǉz̗
        jan = 1, feb, mar, apl, may, jun, jul, org, sep, oct, nov, dec
    }
    void Start() {
        string[] season //yȉǉzG߂̔z(擪[0]̓_~[)
        = { "", "~", "~", "t", "t", "t", "", "", "", "H", "H", "H", "~" };
        Debug.Log("Sep" + (int)Mname.sep + ""); //uSep9v
        Debug.Log("Sep" + season[(int)Mname.sep] + "ł"); //uSep͏Hłv
    }
}

y@ҁzۃNXij

EȑO쐬 mini133.cs p

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() {

    }
}

y@ҁzۃNX

ẼNX̊{NXƂȂNX݌vƁu̓IȂƂ͔hNXŌ߂vꍇ
E܂uԁvuƁvł͎̂Ȃ悤ɁA{NX̓CX^X̐ɂ͌ȂȂ
Ê悤ȏꍇA{NX𒊏ۃNXƂčĂΗǂ
EF abstract class NX {c}

AWKFmini133.cs

ESlimeNX̊{NXƂāAMonstersƂۃNX`悤

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
abstract class Monsters { } //yǉzۃNXł郂X^[NX
class Slime : Monsters { //yύXzXCNX̒`(X^[p)
    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() {

    }
}

y@ҁzۃNX̒ۃ\bh

EۃNXɂ͖Õ\bh`ł
Eɂu킪ꑰł΁Ã\bhׂvƂ[ݒ肵āAhNXɎ点邱Ƃł
E܂AhNX𗘗p鑤u̒ۃNX̔hNXÃ\bh͂vƗł
EF MonstersNẌꑰshow\bh
EF public abstract ߂l^ \bh(Xg); //JbȒɃZ~R

oFAWKFmini133.cs

EMonstersNXɒۃ\bhpublic abstract void show(); ǋL悤
ESlimeNXł͂̃\bhI[o[Ch悤

\Fp.160ushooterɃvnunvB@ҁuC^[tFCXvB
