MMC Unity講座 -...

42
MMC Unity講座 1.5: C#Unity

Transcript of MMC Unity講座 -...

MMC Unity講座

第1.5回: ~C#とUnity~

注意点

Unityが使えるようになるような教え方をします

プログラミングの知識が多少あることが前提

気になったらググってね2

今回のおしながき

1. C言語とC#の違い

2. UnityにおけるC#

3. 少し書いてみる

3

C言語とC#の違い

4

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

言っときたいこと

10

新たな変数型

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

とりあえず触る

14

プロジェクトを開く

15

前々回(第0.5回)の操作方法の回で作ったプロジェクトを開く

見つかんなければテキトーに新しく作ってOK

2Dでも3Dでもどちらでもよい

スクリプトファイルを作成

Projectタブの「Assets」を右クリック → Create → C# Script

16

スクリプトファイルを作成

ファイル名を「Test」とし,ダブルクリックで開く

17

こんなのが出てくるはず

18

こんなのが出てくるはず

19

ファイル名と同じかどうか確認!!

説明

20

これなに??

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

少し書いてみる

26

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

32

または

実行!

上の▶マークボタンかCtrl + Pで実行する

Consoleタブに注目!

33

実行結果

練習問題(任意)

34

練習問題(慣れた人向け)

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 = ○○;△△;□□){

//プログラム}

解答例

38

解答例

39

今回はここまで

40

次回予定(第2回)

ボールを作る

Rigidbody 2D

ボールを動かす(スクリプト)

41

第1.5回 おわり

お疲れさまでした

42