【補足説明1】プログラムについて
・入力したプログラムをソースプログラムといい、人間のプログラムなので、コンピュータ(C#システムやUnity) から見ると単なる文字列 ・そこで、内部的には(今回はプレイボタンを押すことで)ソースファイル(.cs)のプログラムをコンピュータ用の 実行プログラムに変換する作業が下記の手順で動作する ① ソースファイルのプログラムを機械語(2進数)に翻訳(コンパイル)し中間ファイル(.obj)を作る ② 中間ファイルにC#やUnityが提供する共通モジュール(ライブラリ)を結合(リンク)して実行ファイル(C#では.exeだが Unityでは一時ファイルなので見えない)を作る ③ Unityが実行ファイルを動作させて画面や結果を表示する ④ ユーザの指示によって実行ファイルを止める ※ Visual Studioではコンパイル+リンクをビルドという
【補足説明2】プログラム言語について
・C#はC言語を基にJava言語を参考にしてマイクロソフトなどが開発した汎用言語 ・C言語はUnixというOS(WindowsやMacOSの祖先)を記述するために開発された言語で、わかりやすく機械語並みに パワフルなのが特徴 ・また、C言語を基にオブジェクト指向(後述)を取り込んだのがC++で、WindowsなどのOSの記述や、Unreal Engine などの開発ツールで活用されている ・C#もオブジェクト指向言語だがより徹底&洗練されており、オブジェクト指向のメリット(グループ開発、部品化、 再利用)がより受けられる。 ・同等なのがJava言語で、開発者は異なるが、C#と似た作りになっている。 ・なお、C/C++/C#/JavaをC系言語ということがあり、これらでは「=」に「等しい」という意味がないことが共通 (等しいは「==」) ・ちなみに、主にWeb用のスクリプト言語(簡易プログラム言語)であるJavaScriptはJavaとは無関係 (正式仕様名はECMA Script)。
アレンジ演習:Chap1_4_1.cs
・Debug.Logのカッコ内の「"ハロー!"」は文字列を表している ・このダブルコーテーションをシングルコーテーションにすると1文字のみの文字を表せる ・Debug.Logは文字列も文字も扱えることを試してみよう ・Debug.Logのカッコ内の「"ハロー!"」を「'ハ'」と書き換えて動作を確認しよう
作成例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chap1_4_1 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Debug.Log('ハ');
}
// Update is called once per frame
void Update()
{
}
}
【補足説明3】Create Emptyについて
・各種の開発ツールでは、あらかじめ頻繁に使われる開発形態に対応したテンプレート(ひな形、骨組み)を複数用意する ことが多い ・同時に、学習や評価に便利な「最もシンプルなテンプレート」を用意している。Unityではこれが「Create Empty」で 用いられている ・ちなみに、Visual Studioでは「空のプロジェクト」が目的別に用意されている ・Create Emptyで作成されるゲームオブジェクトには、ソースファイルのテンプレートが用意されており 「Create and Add」で呼び出されてソースファイルに書き込んだ状態で提供される ・通常、これらのテンプレートはプログラマの都合に合わせて編集可能
【補足説明4】Debug.Logについて
・p.29に「Debug=デバッグ機能、Log=表示しろ」とあるが、デバッグとは虫取りの意味で、プログラムの動作を 妨げる要素=バグ(虫)を取り除くことで、プログラムをあるべき姿にする作業のこと ・よって「Debug.Log」はプログラミングのためのツールであり、完成品には残すべきではない ・しかし、学習や動作確認には便利なので活用されている ・Logは正しくは「ログを出せ=記録しろ」の意味で、主にコンソールへの出力に該当する。 ・なお、WindowsなどのOSやサーバ、ネットワーク機器などではログを記録したり確認する機能があり、動作のチェックや 統計やセキュリティ向上に活用されている ・Logはメソッド(動作を示すもので、C言語でいう関数)で、カッコの中がメソッドに渡す情報(引数)になっている ・C言語などの関数は引数の特性(データ型)が固定で、文字列用の関数には文字は渡せない ・C#などのメソッドにはオーバーロードという仕掛けがあり、複数のデータ型に対するメソッドを作成できる。 その一例がLogメソッドで、文字列や文字以外のデータ型に対応している
提出方法
・VisualStudioで提出ソース(アレンジ演習:Chap1_4_1.cs)を開いた状態で「ファイル」「印刷」 ・プリンターを「Microsoft Print to PDF」に変更し「印刷」 ※「印刷」がでなけばVisual Studioを閉じて、Unityの「Edit Script」から開けなおす ・「ドキュメント」でファイル名に「1022名前」と入力し「保存」 ・講義サイトの「提出フォーム」で「お名前」「メッセージ(質問・感想・要望・ペースについて等)」を入力し「Browse Files」をクリック ・「ドキュメント」にある「1022名前.pdf」を選択し「開く」 ・「送信」