講義メモ 後半

【補足説明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」を選択し「開く」
・「送信」

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です