Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ゲーム技術基礎#1

 ゲーム技術基礎#1

Avatar for ISHIGO Yusuke

ISHIGO Yusuke

June 04, 2025
Tweet

More Decks by ISHIGO Yusuke

Other Decks in Education

Transcript

  1. 自己紹介 合同会社4D Pocket [代表] 4D Pocket LLC. 2017.4- 一般社団法人HOPTER TECH

    SCHOOL [共同代表] HOPTER TECH SCHOOL FOUNDATION 2021.5- 石郷 祐介 ISHIGO Yusuke 岐阜県生活技術研究所 Gifu Pref. Research Institute for Human Life Technology 2011.5-2012.3 情報科学芸術大学院大学[IAMAS] Institute of Advanced Media Arts and Sciences 2012.4-2018.3 公益財団法人ソフトピアジャパン SOFTOPIA JAPAN FOUNDATION 2015.4-2017.3 日本総合ビジネス専門学校 Japan Professional Training College of Business 2017.4-2021.5 名古屋造形大学 [非常勤講師] Nagoya Zokei University 2022.8- 名古屋文理大学 [助教] Nagoya Bunri University 2023.11-
  2. GameObject開コンッーネント現プロ)ェ追加でた ⑤ void Start() { } void Update() { }

    最初開一英(タ設行機能た 何英数繰グ返ラ設行機能た ソフトウェアエンジニ育成と就 ソフトウェアエンジニ育成と就
  3. GameObject開コンッーネント現プロ)ェ追加でた ⑦ void Update() { this.transform.Translate(0.1f, 0, 0); } X,

    Y, Z 何ルス移料でたヒ 移料でたもシ向命令現メソん型)向基本形 this.transform.Translate(0, 0, 0); 課象 現this対自分自身) 命令 命令向中身 現込作向場合対コンルみ区切た) 最後対セミコ験ン
  4. コンッーネント public class TestScript : MonoBehaviour {  現略) } TestScript

    フ選な張名等ダ必ス名対一致でた発事市あた に験ジのダト内み同じフ選な張名対わせ業め
  5. 配作 配作語デー期ェ入能たもシ向箱 int a =100; 配作ェ子た等き開中開入た値向種類ェ決シ詰あげた現最初(タ) String b = “abc”;

    文字列ェ表で場合対ツ””現け「張ダだーテーウドン)み囲画 100 “100” 作値 文字列 同じ苦画開見せ詰全然違画 100 a
  6. 配作ェわど詰定た 配作向像 配作開対像市あグツ配作ェ子た際開対入能たデー期向種類開苦ど詰像ェ決シた。 使下ツ基本的業像ェ挙げた。 int String float 整作像 設作像現作字向後ろ開fェつタた) 文字列像

    bool 論理像現true数ラホ対false)フ必要管理開わ面能た int a = 100; float b = 0.001f; String c = “Hello, World!”; bool d = true; 配作さaれ開100ェ入能た 配作さbれ開0.001ェ入能た 配作さcれ開Hello, Worldェ入能た 配作さdれ開trueェ入能た
  7. 配作ェわど詰定た public class TestScript : MonoBehaviour {  public float speed

    = 0.01f;  void Start() {  }  void Update() {   this.transform.Translate(speed, 0, 0);  } } ダ」んダ 配作向像名向前開さpublicれェつタた等 なンス長ダ期開配作市表示機能た
  8. 配作向スコーに public class TestScript : MonoBehaviour {  public float speed

    = 0.01f;  void Start() {  }  void Update() {   this.transform.Translate(speed, 0, 0);  } } 配作市わせた範囲対 コンッーネント向中(タ
  9. 回転ラ詰定た public class TestScript : MonoBehaviour {  public float angle

    = 90.0f;  void Start() {  }  void Update() {   this.transform.Rotate(0, 0, angle / 50);  } }
  10. 条件分岐 条件式向種類 a > 100 a < 100 a >=

    100 a市100苦グ大きめ現100ェ含ま業め) a市100使上現100ェ含む) a市100苦グ小機め現100ェ含ま業め) a <= 100 a市100使下現100ェ含む) a == 100 a市100等無ラめ a != 100 a市100み対業め 条件開当詰対また等き開ツ{}内市設行機能た 条件開当詰対まら業め等き開{}内市設行機能た else{}対書ヒ業ホ詰数動め if(条件式) { 条件式開当詰対まども等き開設行機能た } else { 条件式開当詰対まら業ヒども等き開設行機能た }
  11. 曲市た public class TestScript : MonoBehaviour { public float speed

    = 0.001f; public float angle = 90.0f; public int maxCount = 20000; public int count = 0;  void Start() {  }  void Update() { this.transform.Translate(speed, 0, 0); count++; if (count >= maxCount) { this.transform.Rotate(0, 0, angle); count = 0; }  } } x++; 配作名 配作向中身ェ1増キで x += 1; 配作名 配作向中身ェ1増キで x += 2; 配作名 配作向中身ェ2増キで なンダ」メント count市maxCountェ超せもら countェ0開戻で
  12. コメント // count市maxCountェ超せもら if (count >= maxCount) { さ//れ使降開書ヒ能もに験要必ム対読定飛ば機能た コメント化でたこ等ェさコメントア体トれ等言画

    に験要必ムェ試行錯誤でた等き対ツめき業グコー型ェ消機ず開 コメント等ラ詰残ラ詰マホ コメントェわど詰メモェ残でこ等市みきた
  13. 反転でた this.transform.Rotate(0, 0, angle); angleェ180開でた等上下市逆開業ど詰ラま画 this.GetComponent<SpriteRenderer>().flipY = 職true or false支;

    GetComponent対ツGameObject開ア期ん応機能詰めたコンッーネントェ検索でた GameObjectェ反転機ァたヒ結画ヒ
  14. 反転でた  void Update() { this.transform.Translate(speed, 0, 0); count++; if (count

    >= maxCount) { this.transform.Rotate(0, 0, angle); this.GetComponent<SpriteRenderer>().flipY = true; count = 0; }  } 機ら開反転ラも等き対ツflipYェfalse開ラもめ…
  15. 反転でた bool isFlip = false;  void Update() { this.transform.Translate(speed, 0,

    0); count++; if (count >= maxCount) { this.transform.Rotate(0, 0, angle); if (isFlip) { isFlip = false; } else { isFlip = true; } this.GetComponent<SpriteRenderer>().flipY = isFlip; count = 0; }  } isFlip市true(どもら 配作ェわ画 bool像向配作対is〜み始また配作名開でたこ等市多め
  16. 条件式 if (A && B) if (A || B) if

    (A != B) A等B向条件市揃ども等き A数ラホ対B向条件開業ども等き A市Bみ対業ヒども等き
  17. ワー入力 Input.GetKey("right") 指ポラもワー市押機能詰めたヒェ判ポでた 現押機能詰もらtrueツ押機能詰業タ能ばfalse) float vx = 0; void Update()

    { vx = 0; if (Input.GetKey("right")) { vx = 1; } this.transform.Translate(vx / 50, 0, 0); } 右カーソ張ワー市押機能もら 押機能詰もらvx対1ツそ画み業タ能ば0 右語rightツ左語leftツ上語upツ下語down
  18. 他向GameObjectェ参照でた ① public class TestScript : MonoBehaviour { public GameObject

    kikori; 型必ん要アン型型験んにでた 他向GameObjectェ入能たもシ向配作ェが意でた
  19. 他向GameObjectェ参照でた ② void Update() { Vector3 player = this.transform.position; Vector3

    target = kikori.transform.position; 援oat dt = Vector3.Distance(player, target); Debug.Log(dt); vx = 0; if (Input.GetKey("right")) { vx = 1; } this.transform.Translate(vx / 50, 0, 0); } 自分自身向座標 相ュ向座標 自分自身等相ュ向距離 コンソー張開配作向中身現距離)ェ表示でた
  20. 文字向表示 ④ using TMPro; public class TestScript : MonoBehaviour {

    public TextMeshProUGUI score; 現略) float dt = Vector3.Distance(player, target); Debug.Log(dt); score.text = dt.ToString(); 現略) なンス長ダ期みア期ん応みきた苦画開でた dt配作対作値業向みツ.ToString()ェつタ詰 文字列開配換でた
  21. に様フ選「現Prefab)ェわど詰定た ② public class HiyokoFactory : MonoBehaviour { public GameObject

    chickPrefab; public float span = 1.0f; public float delta = 0.0f; void Update() { this.delta += Time.deltaTime; if (this.delta > this.span) { this.delta = 0.0f; GameObject go = Instantiate(chickPrefab) as GameObject; float x = Random.Range(-9.0f, 9.0f); float y = Random.Range(-5.0f, 5.0f); go.transform.position = new Vector3(x, y, 0); } } } 生イでたPrefab 生イでた間隔 Time.deltaTime対前回向設行等向時間差 一ポ時間経どもら Prefabヒら設ペェ生イでた 必ンけム業位り開移料機ァた
  22. ル体ス向ダ」んダ判ポ ② ダ」んダラもGameObjectェ削除でた void Update() { if (Input.GetMouseButtonDown(0)) { Ray

    ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit2D hit2d = Physics2D.Raycast((Vector2)ray.origin, (Vector2)ray.direction); if (hit2d) { Destroy(hit2d.transform.gameObject); } } } ル体スェダ」んダラも等き ダ」んダラも先開GameObject市あども場合 Destroy(ゲーム成「ジのダト)み削除でた hit2d.transform.gameObject開ダ」んダラも GameObject市入ど詰めた
  23. スコア向表示 ② さScoreManagerれ等め画コンッーネントェ子ど詰ツさScoreManagerれGameObject開ア期ん応でた public class ScoreManager : MonoBehaviour { public

    TextMeshProUGUI scoreText; public int score; void Start() { } void Update() { scoreText.text = score.ToString(); } } スコアェ表示でたText 設際向スコアェ入能た配作 スコアェ作値語文字列開ラ詰Text開入能た