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#はどうなってるの?というときに調べるサイト
例えば、MonoBehaviourクラスの説明などUnityの全てが記載されている。
また Unityユーザマニュアル にある スクリプトライフサイクルのフローチャート にも目を通しておくとよい。
スクリプトリファレンスを読むためにはC#のオブジェクト指向の理解が必要。ゲームプログラミングではオブジェクト指向の詳細には立ち入らない。
オブジェクト指向で構築されたスクリプトを利用する範囲にとどめる。
オブジェクト指向の入門に関してはプログラム演習IVで扱われている。
オブジェクト指向の用語や概念については他の授業でも触れる機会は多い。
本学のシラバス検索システムでキーワード「オブジェクト指向」の検索結果:
※ システム開発論/ソフトウェア開発論 は 現行カリキュラムの システム開発論 です。
※ モバイルシステム演習/プログラム演習IV は 現行カリキュラムの プログラム演習IV です。