僕ログ日記

主にプログラミングと雑記。

Unity備忘 配列

phpでも学習したが、改めて配列の学習を。

■配列の宣言 

int points;

~実際の書き方~

※要素数(箱の数)を5個にする場合

 

int points = new int[5];

 

new int[5]と書く事でint型の箱を5つ

作成している

 

【配列を作るためには、配列の宣言に続けて「new」で

配列に必要な箱の個数を指定する必要がある】

 

箱に入れる値=要素

箱の総数=要素数

 

Unity備忘 スクリプトの書きかた色々(制御文編)

■if文で条件分岐

 ~書き方~

if(条件式) {

     処理

}

 

下記は薬草の数(herbNum)が、

「1」の時だけHPを回復するスクリプト

    void Start () {
        int herbNum = 1;
        if(herbNum == 1) {
            Debug.Log ("HPが50回復");
        }        
    }

■if-else文で条件分岐

~書き方~

if(条件式)  {

    処理A

}   else  {

    処理B

}

※下記はhpが100以上なら「攻撃」、

それ以外なら(hpが100以下)なら「防御」

という文を吐き出すスクリプト

 

    void Start () {
        int hp = 1;
        if (hp >= 100) {
            Debug.Log ("攻撃!");
        } else {
            Debug.Log ("防御!");
        }
    }

 

■if-else文を複数繋げる

~書き方~

if(条件式a)  {

      処理A

}  else if(条件式b)  {

    処理B

}

else  if(条件式y)  {

      処理Y

}   else  {

     処理Z

}

★ポイント★

上から順番に条件をチェックし、

条件を満たした場合は{}内の処理を実行し、

その後ろにまだif elseやelseが続いていても

条件分岐を終了する。

全ての条件式を満たさない場合は、

最後のelseに続く{}内の処理を

実行する。

 

※下記スクリプトはhpの数値によって

異なる文字を吐き出すスクリプト

 

        int hp = 51;
        if (hp <= 50) {
            Debug.Log ("逃走!");
        } else if (hp >= 200) {
            Debug.Log ("攻撃!");
        } else if (hp == 51) {
            Debug.Log ("待機");
        } else {
            Debug.Log ("防御!");
        }
    }

 

 ■for文で繰り返し

for文は繰り返す回数を指定すれば自動的に

処理を繰り返してくれる

~書き方~

for(変数初期化; ループ条件式; 変数の更新) {   処理

}

※下記は数字が5になるまで1を足し続ける

スクリプト

 

    void Start () {
        for(int i = 0; i < 5; i++) {
            Debug.Log (i);
        }
    }

※偶数だけを表示するスクリプト

    void Start () {
        for(int i = 0; i < 10; i += 2) {
            Debug.Log (i);
        }
    }

※特定の範囲を表示するスクリプト(3~5)

    void Start () {
        for(int i = 3; i <= 5; i++) {
            Debug.Log (i);
        }
    }

※カウントダウンするスクリプト(3~0)

    void Start () {
        for(int i = 3; i >= 0; i--) {
            Debug.Log (i);
        }
    }

※合計値を求めるスクリプト

    void Start () {
        int sum = 0;
        for(int i = 1; i <= 10; i++) {
            sum += i;
        }
        Debug.Log (sum);
    }

Unity備忘 スクリプトの書きかた色々(基本編)

■変数を使った四則演算

※下記は減算、乗算、助産

    void Start () {
        int answer;
        answer = 3 - 4;
        Debug.Log (answer);

        answer = 5 * 6;
        Debug.Log (answer);

        answer = 8 / 4;
        Debug.Log (answer);
    }        
}

■変数同士の演算

※下記は変数同士の加算例

    void Start () {
        int answer = 10;
        answer++;
        Debug.Log (answer);
    }        
}

■変数同士の演算

※下記は変数同士の加算例

void Start () {
        int n1 = 8;
        int n2 = 9;
        int answer;
        answer = n1 + n2;
        Debug.Log (answer);
    }        
}

■変数の値の一定値増加(または減少)

    void Start () {
        int answer = 10;
        answer += 5;
        Debug.Log (answer);
    }        
}

■変数の値を1だけ増やすためのインクリメント演算子

    void Start () {
        int answer = 10;
        answer++;
        Debug.Log (answer);
    }        
}

★ポイント★

インクリメント演算子

「変数名++」(加算)もしくは「変数名--」(減算)

と書きます。

 

■文字列の連結

 

    void Start () {
        string str1 = "happy ";
        string str2 = "birthday";
        string message;

        message = str1 + str2;
        Debug.Log (message);
    }        
}

※あるいは

    void Start () {
        string str1 = "happy ";
        string str2 = "birthday";

        str1 += str2;
        Debug.Log (str1);
    }        
}

で、同じ結果(happy birthday)が

出力される

 

■文字列と数値の連結

    void Start () {
        string str = "happy ";
        int num = 123;

        string message = str + num;
        Debug.Log (message);
    }        
}

※文字列との足し算では、num変数は

文字列として扱われる

 

Do not be danced by the imagination of others.

今、生きづらさを感じている方へ。

 

表題の意味は

「他人の想像力に踊らされるな」です。

(Google翻訳で訳しただけなので正解かは疑問です)

 

金城一紀さんの小説「fly,daddy,fly」の中で

出てくるセリフで、僕の凄く好きなセリフです。

 

人間は、他者との関わりの中で変容していく生き物です。

僕は、どんな人間でも所属する環境にまったく影響を受けずに

生きていくことは不可能だと感じていますし、

時には最終的な目標のために時々に応じて自分自身の意見や思考を

変えていくことも大変重要だと思います。

 

しかしながら、これだけは譲れないというものがあるならば、

誰にもそこは譲ってはいけないのだと思います。

 

僕は自分でいうのも何ですが、人の雰囲気を感じ取り、

相手の望む適切な言動を取ることができる方だと思います。

 

(良くいうと空気を読める、悪くいうと人の顔色を伺う、

というのでしょうか)

 

30年以上生きてきて、最近になってこの特徴(相手の思考の傾向を

感じ取れる)が長所なのだと感じる事が出来ました。

 

以前は他人の事を全く気にせず生きれる豪傑な人(悪く言えば

無神経な人)に憧れもあったのですが、

世の中には自分の痛みには敏感でも他人の痛みには

鈍感な類の人(社会で生きていく為に意識的に優しさを忘れた人)

が意外と多い事を知り、

生きづらくとも自分自身の生き方を貫くことに決めました。

 

それでもやはり、不安や迷いが生じることもあります。

 

人との関わりの中で、

自分はここまで(の頑張り)で良いんじゃないか、

もっと楽な生き方があるんじゃないか、

お世話になっている上司の望むようなキャリアを生きた方が良いんじゃないか..

などなど。

 

誰かの為に生きることはとても尊いことです。

でも、それが本当に自分の望むものなのか、

私たちは常に自分自身に問いかけなければいけません。

 

自分が自分自身の1番の友人でないと、

いつか後悔するのは自分自身です。

 

そして時にその決断は、

自分の大事な周りの人でさえも傷つけてしまうかもしれません。

 

自分を大事に出来ない人は、

他人に優しくすることはできないからです。

 

 

僕は普段、気持ちの良い挨拶や普段の言動など、

「人に優しく」することを心がけています。

 

しかし、それが「してあげる」という意識にならないように、

できる範囲での優しさを心がけています。

 

「してあげる」という意識は、相手から望んだリアクションが得られないと

「呪い」のように自分に帰ってくるからです。

 

本題の件に戻ります。

 

他人が自分に言ってくること、

それが好意であれ悪意があれ、

自分のスケールを狭めず生きていこうと思います。

 

それが他人の望む結果にならずとも、

誰かを傷つけてしまっても---。

 

その時は、本気でごめんなさいって言えばいいんだと思います。

 

一番愚かなのは、自分がまだ手に入れていない結果を恐れて

何もしないことです。

また、起こしてしまった過ちを悔いて

未来を変えないことです。

 

そして、未来を変えることは今を変えること。

 

すなわち、今を少しでも変えれば未来は、

確実に何かが変わる。

 

今、生きづらさを感じている方へ。

僕も一緒です。

 

30超えたオヤジが、自分の未来や、

他人の事を考えながら青臭く生きています。

 

他人の意見に流されず、自分の人生に責任を持ち生きることは

楽しさも苦しみも共に多く、とてもエネルギーの要ることです。

 

自分のスケールが狭まっていると感じたら、

無理せず休みながら進んで生きましょう。

 

そして、未来への想像力が復活したら、

また歩き出しましょう。

 

そして、僕は日々辛い時もありますが

とても充実した人生を生きています。

 

 

 

 

脱出ゲーム経過

脱出ゲーム製作中。今月中には完成しそう。

部屋も出来たので、あとは必要なオブジェクトを入手して

コードをかいて紐づけて、、というところなのだが

オブジェクトのフリー素材探しに必死で

昨日はコードを1行も書かなかったw

処女作なので手早く仕上げることが重要だと思っていはいるが、

少しでも面白いゲームにしたいと思う。

Unity学習 (c#)

改めて、unityについてまとめていきます。

※自分への備忘録

 

C#の自動生成スクリプトについて〜

c#で新規のスクリプトを作成すると、

デフォルトで以下のスクリプトが自動生成される。

---------------------------------------------------------------------

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

public class NewBehaviourScript : MonoBehaviour {

    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        
    }
}

---------------------------------------------------------------------

■以下、説明

 

①Using System.Collections;

②Using System.Collections.Generic;

→上記①〜②のコードはデータを格納するための型を提供する

③using UnityEngine;

→unityを動かすために必要な機能を提供

 

④public class Test : MonoBehaviour  {}

→クラス名を決めている。

c#で書かれたプログラムは、クラスという単位で管理する

スクリプトは、{}の中に書く。{}で挟まれた部分を

ブロックという。

 

■Unityの基本

作成したスクリプトは、何らかのゲームオブジェクトと

結び付けないと動かない。

この操作をアタッチという。

Unityの超基本動作となるので覚えておこう

 

■unity(c#)の変数について

phpでは型を意識せずプログラミングできるが、

c#では型の宣言がある。

 

○変数の宣言方法

型名 変数名;

 

スクリプト例:

    void Start () {
        int age;
        age = 30;
        Debug.Log(age);

出力結果 30

■変数の型

 

int 整数型(数字)

char(文字型)

string(文字列型)

float(浮動小数点型)

 

■変数の代入

○同じ型の変数同士は代入できる。

変数名 = 代入する変数名

void Start () {
        float height1 = 160.5f;
        float height2;
        height2 = height1;
        Debug.Log(height2);

出力結果:30

■変数に文字列の代入

string name;
        name = "kitamura";
        Debug.Log (name);
        

出力結果 kitamura

文字列は""で括ること

 

 

最近初めて見たこと、やってみたこと

①大谷選手にならってマーダラートを書いてみた。

目標の可視化というのはとても大切だと思った。

無謀な野望も、現実味を帯びてくる。

②睡眠計測アプリ

入眠時の眠りの深さを測ってくれる。

関係ないけど加速度センサー使ってなんかアプリ作りたい

③ONE(レシート購入アプリ)

レシート1枚10円で買い取ってくれるアプリ。

よだれを流して喜んだがサービス開始初日に

予想ユーザ数を大幅に超えたようでサービス停止。

再開を心待ちにしてます

④朝型生活

朝型生活をするために、晩御飯を超ライトにして、

朝、昼にがっつり食べることにした。

酒も飲まなくなるし時間がたくさんできるし痩せて

いいことづくめ、、のはず。

開始1日目なのでまた進捗を書きます