GP03

進捗管理

GP02が完了しない場合の予備日程

完了していない場合はGP02の続きを実習する。


プログラム言語の基礎の確認用に プログラミング再入門 も見ておいてほしい。


GP02が完了している受講生はSnap!GPx01の課題に取り組む時間とする。

第2回のチャレンジ課題のキャラクター制御のヒント

キーボード操作で移動するキャラクターの作成手順とコードをChatGPT4に聞いてみた。

そしてコードの解説もお願いした。

https://chat.openai.com/share/a5d1800b-796e-4a7a-a826-c4881e3c3878

第2回のチャレンジ課題の効果音の再生のヒント


効果音を再生するコードに必要なパーツ

https://chat.openai.com/share/980fdb85-81f6-4caf-a098-109fcb3a2315

音源のメンバー変数

    private AudioSource audioSource;

音源の設定を Startメソッドで行うコード

  // AudioSourceの追加

        audioSource = gameObject.AddComponent<AudioSource>();

効果音を再生するメソッドに追加するコード

今回は OnCollisionEnter に追加

        PlayBeepSound();

効果音を合成して再生するメソッド

GP02クラスに追加

    void PlayBeepSound()

    {

        int sampleDurationSecs = 1;

        int sampleRate = 44100;

        int totalSamples = sampleDurationSecs * sampleRate;

        float frequency = 440.0f;


        float[] samples = new float[totalSamples];


        for (int i = 0; i < totalSamples; i++)

        {

            float s = Mathf.Sin(2.0f * Mathf.PI * frequency * ((float)i / (float)sampleRate));

            float volume = Mathf.Clamp01(1.0f - ((float)i / (float)totalSamples));

            samples[i] = s * volume;

        }


        AudioClip clip = AudioClip.Create("Beep", totalSamples, 1, sampleRate, false);

        clip.SetData(samples, 0);

        audioSource.PlayOneShot(clip);

    }

UnityのC#はどうなってるの?というときに調べるサイト


公式 Unityスクリプトリファレンス

例えば、MonoBehaviourクラスの説明などUnityの全てが記載されている。

また Unityユーザマニュアル にある スクリプトライフサイクルのフローチャート にも目を通しておくとよい。


スクリプトリファレンスを読むためにはC#のオブジェクト指向の理解が必要。ゲームプログラミングではオブジェクト指向の詳細には立ち入らない。

オブジェクト指向で構築されたスクリプトを利用する範囲にとどめる。

オブジェクト指向の入門に関してはプログラム演習IVで扱われている。

オブジェクト指向の用語や概念については他の授業でも触れる機会は多い。


本学のシラバス検索システムでキーワード「オブジェクト指向」の検索結果:

システム開発論/ソフトウェア開発論 は 現行カリキュラムの システム開発論 です。

※ モバイルシステム演習/プログラム演習IV は 現行カリキュラムの プログラム演習IV です。