MMC Unity講座
第1.5回: ~C#とUnity~
注意点
Unityが使えるようになるような教え方をします
プログラミングの知識が多少あることが前提
気になったらググってね2
今回のおしながき
1. C言語とC#の違い
2. UnityにおけるC#
3. 少し書いてみる
3
C言語とC#の大きな違い
基本中の基本は大体同じ
大きく違う点
1. オブジェクト指向である
2. C言語よりも全体的に柔軟
5
同じところ
C言語の基礎的な部分を継承している
for文, while文, if文, switch文 etc.
Cで使えた型はだいたい使える
変数定義や関数定義のしかたもほぼ同じ(厳密には違うが)
6
1. オブジェクト指向
「オブジェクト指向とは何なのか?」がわかっていなくてもゲームは作れる
メリットを簡単に言うと、
これのおかげでUnity独自の機能などに対応したスクリプトが書ける
アプデしやすい
複数人での開発がしやすい
7
2. 「C言語より柔軟」とは
例えば,変数や関数(メソッド)を定義する位置は割とどこでもいい
何ならfor文の中にも
C#ではこれが当たり前です…
8
2. 「C言語より柔軟」とは
他にもいろいろあるけど,使っていけばわかる
9
新たな変数型
C言語にはなかった(or使われにくかった)型がよく使われる
よく使う変数型は下の表
11
型の名称 説明
int 整数を保存
string 文字列を保存
bool trueかfalseを保存
float doubleと似てる
NEW!
NEW!
コンパイルについて
Unityでは,勝手にコンパイルしてくれます!!(神)
ファイルの保存(Ctrl + S)を忘れず
VS Codeの機能に「自動保存」があるのでそれを使うのは大いにあり
12
cc test.c
gcc test.c
その他
C言語で言う「関数」のことをC#では基本的に「メソッド」と呼びます
この辺言葉の定義がややこしいので,気になったら「関数メソッド違い」でggりましょう
ただし「関数」と言っても普通に通じるので,「絶対メソッドと言え!」ってわけじゃないよ
13
プロジェクトを開く
15
前々回(第0.5回)の操作方法の回で作ったプロジェクトを開く
見つかんなければテキトーに新しく作ってOK
2Dでも3Dでもどちらでもよい
スクリプトファイルを作成
Projectタブの「Assets」を右クリック → Create → C# Script
16
スクリプトファイルを作成
ファイル名を「Test」とし,ダブルクリックで開く
17
こんなのが出てくるはず
19
ファイル名と同じかどうか確認!!
これなに??
Unityが「たぶんほとんどの場合必要やろ」って思ったものを最初から書いてくれてる(神)
これから簡単に説明します
21
using機能
C#ファイルの一番上に書かれるやつ
C言語で言う、#includeと同じようなもの (厳密には全然違う)
Unityで開けば大事なやつは自動で書いてある(Unity is GOD)
22
class宣言
おまじないです
この中カッコ内にプログラムを記述
クラス名(画像だと”Test”)がファイル名と同じであることを必ず確認
しないとコンパイルできません
23
Startメソッド
Unity独自のメソッド
一番最初に1回だけ実行されるメソッド
上のコメントは消してOK
24
Updateメソッド
Unity独自のメソッド
1フレームごとに1回実行されるメソッド
60fpsなら1秒間に60回実行するってこと
Startメソッドが終了した直後に実行される
25
Debug.Logメソッド
C言語で言うprintf関数
ただしこれもUnity独自です
Consoleタブに表示される
改行¥nなどは必要時のみ!
27
Debug.Log(“Hello, World!”);
int x = 10;
Debug.Log(“今日は” + x + “日”);
今日は10日
Hello, World!
以下のように書いてみよう
28
(別紙①からコピペでもOK)
実行する準備
前回言った通り,スクリプトはComponentとして扱います
これをくっつけるためのオブジェクトが必要
29
実行する準備
Hierarchyタブで右クリック → Create Empty
名前を「Test」とする
30
実行する準備
Testオブジェクトに,ProjectタブのTestスクリプトをドラッグ&
ドロップ
InspectorにD&Dでもいいよ
次スライド参照
31
実行!
上の▶マークボタンかCtrl + Pで実行する
Consoleタブに注目!
33
実行結果
練習問題(慣れた人向け)
1~100のうち、5の倍数だけをConsoleタブに表示するスクリプトを作りなさい。条件は次スライド参照。
35
5
10
15
-中略-
95
100
実行結果
次スライド以降に条件とヒントがあるよ
条件
1. 「Test2」という名前のC#ファイルを作成して記述すること
2. for文、if文を必ず使うこと(後述)
3. 新たに「Test2」オブジェクトを作成して、スクリプトをアタッチすること
36
ヒント
If文や各種演算子(+ = * / % &&
||など)はC言語と同じ
for文も基本的には同じだけど、以下のように記述しよう
37
for(int i = ○○;△△;□□){
//プログラム}
次回予定(第2回)
ボールを作る
Rigidbody 2D
ボールを動かす(スクリプト)
41
第1.5回 おわり
お疲れさまでした
42