見出し画像

プログラミング未経験で知識0の大学生の僕が0から勉強する話15

こんにちは。秘密基地をつくる大学生です。

さて、先日テックプレナー道場というものに応募してきました。

なんと、1ヶ月でマークザッカーバグを育てるという結構すごい事を言っているキャンプ的ものなのですがそれに8月5日に言ってきます。

もう1つ9月には、「スパルタキャンプ」と言うものに応募してきました。

これは、倍率がかなり高いですが期待して待ちたいと思います。

また、「ゲームつくるセンター」ですが、逗子でも開催する事になりましたので頑張ります。

さて、前回の記事では、「しょぼいゲーム」を作るところまで行いました。

今回はC#を使って指示をしていこうと思います。

C#scriptを作成する

キャラクターを動かす為に、C#言語を使っていく。

ASEETS>Create>C#scriptの順番で開く。

ここでのファイル名はPlayerにしておこう。

ファイルを開くと

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

public class NewBehaviourScript : MonoBehaviour
{
   // Start is called before the first frame update
   void Start()
   {
       
   }

   // Update is called once per frame
   void Update()
   {
       
   }
}

となっているはずである。

void Start () の中は最初の1回だけ処理する命令で、void Update () の中は連続で何度も呼ばれる命令を書いていくものだそう。

なるほど〜(全然意味わからない)

ここまでくると見よう見まねで書くしかない。

そして、次の工程に移り歩くようにするように書き換えると

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour
{

   public float speed = 5.0f; //プレイヤーの速さ
   public Sprite[] walk; //プレイヤーの歩くスプライト配列
   int animIndex; //歩くアニメーションのインデックス
   bool walkCheck; //歩いているかのチェック

   // Use this for initialization
   void Start()
   {
       animIndex = 0;
       walkCheck = false;
   }

   // Update is called once per frame
   void Update()
   {
       //歩いていたら歩くアニメーションの再生
       if (walkCheck)
       {
           animIndex++;
           if (animIndex >= walk.Length)
           {
               animIndex = 0;
           }
           GetComponent<SpriteRenderer>().sprite = walk[animIndex];
       }

       //マウスをクリックしたら歩き出す
       if (Input.GetButton("Fire1"))
       {
           walkCheck = true;
           GetComponent<Rigidbody2D>().velocity =
          new Vector2(speed, GetComponent<Rigidbody2D>().velocity.y);
       }
    //マウスのクリックを離すと止まる
       else if (Input.GetButtonUp("Fire1") && walkCheck)
       {
           walkCheck = false;
           GetComponent<Rigidbody2D>().velocity = Vector2.zero;
       }
   }
}

こうなる。

ひえ〜なんだこれ〜。

これを理解しているSEはバケモノだと思う。

マジで呪文だろ。

教えてUnityちゃん

Udemyをいう、プログラミング学習サイトがあるのだが、そこでUnityちゃんというキャラクターが教えてくれるサイトを見つけた。

僕は彼女にお世話になろうと思う。

わけがわからない事が多いので、今回はUnityちゃんに教えてもらおうと思う。

メゾット

一連のステートメントが含まれているコード ブロックの事をメゾットというそうだ。

ここでのメゾットは

{
   // Start is called before the first frame update
   void Start()
   {
       
   }

   // Update is called once per frame
   void Update()
   {
       

を指す。

void Start ()

これは彼女によると、ゲームが最初に実行された際にたった1回だけ動くシステムの事。

タイトルとかに使える感じだと思われる。

確かにタイトル何回も表示されるとうざいもんな。

void Update()

、何らかの処理を行いたい時に毎フレーム呼ばれる処理の事を指すそうだ。

特定のパターンで入力したものが呼びだされるそう。

う〜ん。よくわからないがまぁいい。

順をおって理解していくしかない。


今日はここまで。





この記事が気に入ったらサポートをしてみませんか?