『Unity5の教科書』「Chapter2 C#スクリプトの基礎」 学習記録

序文

「Unity5の教科書」学習2日目。
とはいうものの、学習時間の大半をUnityとAndroidStudioなどの再インストールに費やすハメに…。

実は昨日の学習後、Ruby,Rails,Herokuなどのコマンドが使用不可になっていることが判明。
どうやら昨日の環境構築作業の途中で環境変数が削除されたか書き換えられてしまったよう。
環境変数だけもう1度設定しなおせば大丈夫かなーとも思ったのだけど、他にも影響が出ている場所がないともいいきれなかったので、環境構築前の状態にシステムを復元してから再インストールすることにした。

結局原因はよくわからなかったのだけど、

AndroidStudioをインストールしてからUnityをインストールする

という昨日とは逆の手順にすることで、環境変数が書き換えられるという現象はでなくなった。

プログラミングがとっつきにくい原因ってやっぱり環境構築だよなぁと思わせられるトラブルでした。

GitHub

github.com

進捗

(学習時間:1時間)

コード実装部分

\180510Sample\Assets\Test.cs

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

public class Player
{
  private int hp = 100;
  private int power = 50;

  public void Attack()
  {
    Debug.Log(this.power + "のダメージを与えた");
  }
  public void Damage(int damage)
  {
    this.hp -= damage;
    Debug.Log(damage + "のダメージを受けた");
  }
}

public class Test : MonoBehaviour
{
  // スクリプト起動時に一度だけ実行
  void Start()
  {
    Player myPlayer = new Player();
    myPlayer.Attack();
    myPlayer.Damage(30);

    Vector2 playerPos = new Vector2(3.0f, 4.0f);
    playerPos.x += 8.0f;
    playerPos.y += 5.0f;
    Debug.Log(playerPos);

    Vector2 startPos = new Vector2(2.0f, 1.0f);
    Vector2 endPos = new Vector2(8.0f, 5.0f);
    Vector2 dir = endPos - startPos;
    Debug.Log(dir);

    float len = dir.magnitude;
    Debug.Log(len);
  }

  // 1フレームごとに実行
  void Update()
  {

  }
}

実行結果

f:id:yjkym:20180510162001p:plain

感想

今日の内容は大半がC#の基本的な文法などの説明。

さすがに10年以上経験がある言語なのでこれぐらいは問題ない。
一気に進んだ。

初心者にも評判の良い書籍のようだが、あえて注文を出すならposやlenなどの省略語はなるべく使わないほうがいいかもしれない。

カロリーメイトください。

BGM

What's going on~夢見るキャラメル&コーン~ / HAPPLE www.youtube.com