u`
Ep.160ushooterɃvnunv
E@ҁuC^[tFCXv

p.160 shooterɃvnun

Ep.161@ŕ\ʂςĂuSizev\L͂ȂȂĂ
EInputNXUnityEngineɊ܂܂NXœ̓VXẽC^[tF[X񋟂
@https://docs.unity3d.com/ja/2022.2/ScriptReference/Input.html
EInput.GetMouseButtonUp(int)́A̐ÓI\bhŁA}EX{^𗣂t[̊Ԃ trueԂ
EInstantiate\bhMonoBehaviourNXp̂ŁAIuWFNgN[B@GameObjectAVector3AQuaternion3ŁAΏہAʒuA]
EQuaternion.identity͖]î܂܁jw
EQuaternion͎lƂ]\@
EsăNbNHierarchyIuWFNg̍^ɂȂ邪AvC~Ə

p.162 Shooter.cs

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

public class Shooter : MonoBehaviour {
    float move = 0.05f; //PxϐĈړPʂƂ
    public GameObject[] prefabs = new GameObject[4]; //GameObject̔z[4]𐶐
    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ɏ߂(ۂɈړ)
        if (Input.GetMouseButtonUp(0)) { //}EX{^AbvĂ
            Instantiate(prefabs[0], pos, Quaternion.identity); //vf[0]𐶐
        }
    }

    void Start() {

    }
}

p.164 ؂̎ނԂɐ؂ւ

Eϐcurvage̒l0,1,2,3,0,1,2,3,0,1,2,3,0,c Ƃ̂ړI
Ecurvage++; curvage %= 4; ́AifZqłLqł邪A]ɂS
@@F if (curvage >= 3) curvage = 0; else curvage++;
@AF curvage = (curvage >= 3) ? 0 : curvage + 1;

p.165 Shooter.cs 

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

public class Shooter : MonoBehaviour {
    float move = 0.05f; //PxϐĈړPʂƂ
    public GameObject[] prefabs = new GameObject[4]; //GameObject̔z[4]𐶐
    int curvage = 0; //݂̖؂̓Y
    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ɏ߂(ۂɈړ)
        if (Input.GetMouseButtonUp(0)) { //}EX{^AbvĂ
            Instantiate(prefabs[curvage], pos, Quaternion.identity); //݂̖؂𐶐
            curvage++; //̖؂
            curvage %= 4; //4Ŋ]ɂ邱Ƃ4𒴂1ɖ߂
        }
    }

    void Start() {

    }
}

p.166 vpeBԂ\̂̒l͒ڏȂ

Eutransform.position.x += move;vG[ɂȂ闝Ŕutransform.positionvvpeBłAϐIuWFNgł͂Ȃ
Eutransform.position.xv̓vpeBԂIuWFNgł\̂̃f[^o
ẼIuWFNgɂ͖OȂꎞIȑ݂Ȃ̂ŁAɊ܂܂f[^o͗p͂ł邪A͂łȂ
EāAϐŎ󂯂Ə\ɂȂ
@F Vector3 work = transform.position; work.x += move;
@F Vector3 work = transform.position; work.x = 4.0f;

p.172 ̃Q[IuWFNg쐬

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

p.175 UnityUICanvaszu

E@[Create]ˁu{v

p.176 \邽߂Textzu

E@[Create]ˁu{v
EA[UI][Text]ˁuUIvuLegacyvuTextv
Ep.177̐}uTextzu܂vˁuText(Legacy)zu܂v
Ep.177̐}uTextړvˁuText(Legacy)ړ㉺ɍLv
@ʒup.178̐}̂悤ɔɂ
E܂AŁuCanvas Rendarerv́uCull Transparent Mesṽ`FbNItɂ
Ep.178̇C܂ŏIAuScenevuGamevɐ؂ւ邱ƂŐݒ茋ʂmFł

p.178 Q[IuWFNg𕡐

E@uTextENbNvˁuText(Legacy)ENbNv
Ep.179̐}uText(1)vˁuText(Legacy)(1)v

@ҁuNXƍ\́vuRXgN^vuC^[tFCXv

p.168 NXƍ\̂̈Ⴂ

ENX琶ꂽCX^XNX^Ƃϐ
 F Slime suralin = new Slime();
ENX^Ƃϐ͎Qƌ^łAϐ͎̂̂ł͂Ȃ̂̈ʒuɊY
EāANX^ƂϐԂőƁAʒu񂪃Rs[Â͂P̂܂܂ŁAQ̕ϐň
E܂A2ڂ̕ϐ͕ʖ̂悤Ɉ
 F Slime suralin = new Slime(); Slime betumei = suralin; //̂̓Rs[Ȃ
EāAGő傫ȃNX̃IuWFNguꏊ邩AłĂvƂꍇɕ֗

~jK mini168

Eint^hpmpSlime168NX`(publicwɂ)
EStart\bh̒Slime168NX^̕ϐsuralinhoimin𐶐
Esuralin.hp10Ahoimin.hp20
ESlime168NX^̔zslimesAsuralinhoiminvfɂ
@Slime168[] slimes = { suralin, hoimin };
Eslimes[0].hpƁAslimes[1].hpDebug.Logŏo
Eslimes[0].hpƁAslimes[1].hp̒l
Esuralin.hpAhoimin.hpDebug.Logŏo

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Slime168 { //XCNX
    public int hp;
    public int mp;
}
public class mini168 : MonoBehaviour{
    void Start() {
        Slime168 suralin = new Slime168(); //XCIuWFNg𐶐
        Slime168 hoimin = new Slime168(); //XCIuWFNg𐶐
        suralin.hp = 10;
        hoimin.hp = 20;
        Slime168[] slimes = { suralin, hoimin }; //zɊi[
        Debug.Log("slimes[0].hp = " + slimes[0].hp + " [1].hp = " + slimes[1].hp);
        var work = slimes[0].hp;
        slimes[0].hp = slimes[1].hp; //z񑤂2Chp
        slimes[1].hp = work;
        Debug.Log("suralin.hp = " + suralin.hp + " hoimin.hp = " + hoimin.hp); //Ă
    }
}

~jK mini169

ESlime169\̂ɂāAl̏sāAʂmF悤

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
struct Slime169 { //XC\
    public int hp;
    public int mp;
}
public class mini169 : MonoBehaviour {
    void Start() {
        Slime169 suralin = new Slime169(); //XCIuWFNg𐶐
        Slime169 hoimin = new Slime169(); //XCIuWFNg𐶐
        suralin.hp = 10;
        hoimin.hp = 20;
        Slime169[] slimes = { suralin, hoimin }; //\̔zɊi[(CopyɂȂ)
        Debug.Log("slimes[0].hp = " + slimes[0].hp + " [1].hp = " + slimes[1].hp);
        var work = slimes[0].hp;
        slimes[0].hp = slimes[1].hp; //z񑤂2Chp
        slimes[1].hp = work;
        Debug.Log("suralin.hp = " + suralin.hp + " hoimin.hp = " + hoimin.hp); //͕ςȂ
    }
}

@ҁFRXgN^

ENX\̂ɂāAIuWFNg̐ɎIɎŝRXgN^
ERXgN^̓VXeŗpӂĂ̂ŁAӎȂĂǂ
EAIuWFNg̐ɂĂقƂ΁AŃRXgN^ƂŁAIuWFNg̐ɎsĂ炦
E܂ARXgN^͈̃\bhAO͂ȂANXOɂȂ
EF
@class Slime170 {
@@public Slime170() { Debug.Log("OK"); } //RXgN^
  }

~jK mini170

ELSlime170NX̃CX^X𐶐ƃRXgN^삷邱ƂmF悤

쐬

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class Slime170 {
    public Slime170() { Debug.Log("OK"); } //RXgN^
}
public class mini170 : MonoBehaviour {
    void Start() {
        Slime170 suralin = new Slime170(); //ƃRXgN^삷
    }
}

@ҁFftHgRXgN^

ECX^XɈw肵ȂƂɓ삷RXgN^ftHgRXgN^Ƃ
EɁÂȂRXgN^Y
EȂA\̂ł͈̂ȂRXgN^̓VXepӂAO̒`̓G[ɂȂ

oF~jK mini170

\Fp.180uCollider 2DR|[lgŏՓ˔v@ҁûRXgN^vuC^[tFCXv
