SlideShare a Scribd company logo
Unityでゲーム作りを学ぼう2014
第二回
C#入門編 その1
担当
spi8823
今日の予定
● 先週の確認
● 自己紹介(一応)
● 今からC#!!
● 変数と式
– 変数
– 式
● 繰り返し文と条件分岐
– for文
– if文
先週の確認
● 先週はイントロと使用するソフトのインストー
ルを
行いました
● イントロは正直どうでもよかった
● 皆さん、Visual Studio 2013とUnityの
インストールは終わっていますか?
– 終わっていなかった人は今からやりませう
自己紹介
● 私
– 名前:中野晋太郎
– ID:spi8823
– 所属:京都大学工学部物理工学科原子核工学コース
– 趣味:作曲、スピッツ、艦これ
– KMCでの活動:
● C#でゲーム作ろうとしている
● 文レク
● DTM
● 艦これ
自己紹介
● 上回生
– ID
– 所属
– 趣味
– KMC的な活動
– 他に言いたいことがあれば
自己紹介
● 新入生
– 名前
– KMCでのID(あれば)
– 所属
– 趣味
– KMC的何をしたいのか
– 他に言いたいことがあれば
今からC#!!
● みなさん、Unityを起動しましょう
● 起動してもらいましたが、
今日はあんまりUnityについては触れません
● File→New Projectで
新しいプロジェクト(ゲーム全体を指す単位)
を作りましょう
● importは何もせずに、とりあえず「CSharp」と
でも
名前を付けてください
Unity入門講座その2
画面の説明
● Projectビュー
– こういう表示の部分を探してください
– これは、ゲームで用いるあらゆる素材の一覧を
表示しています
画面の説明
● Hierarchyビュー
– これは、実際にゲーム内に存在している
物体の一覧です
画面の説明
● 同様に
● Inspectorビュー
– ある物体を選択した時に、それの詳細を表示します
● Sceneビュー
– ゲームの開発画面です
● Gameビュー
– ゲーム内のカメラが映している画面です
Scriptの作成
● Projectビューの一番上にある
「Create」をクリックして、
「C# Script」を選択
● 名前はあとからわかりやすいように
適当につけてください
● これでC#のスクリプトが作られました
Scriptの編集
● その前に、Visual Studio 2013が入っている人
は
メニューバーの
「Edit」→「Preferences」→
「External Tools」→「External Script Editer」
で、Visual Studio 2013を選択しましょう
● そして、今作ったスクリプトファイルをダブル
クリック
してください
出た?
よくわかる解説
● をしたかったが、それに必要な知識を
まだ持っていない
● void Start()は初めに、
void Update()は毎フレームごとに
呼び出される命令なのです
● ここにいろいろな命令を書いていく
Hello World!
● void Start()の横の{}の中に、
print(“Hello World!!”);
と書いてみてください
実行
● Ctrl + S で保存し、Unityの画面へ行って、
– Projectビューにある今のスクリプトを、
– Hierarchyビューのmain cameraにドラッグ&ドロッ
プ
実行
● 再生ボタンをクリック!
ん、何も出んぞ?
● 今の実行結果は、
メニューの「Window」→「Console」と
クリックすると見ることができる
● 確かに「Hello World!」と表示されている
解説
● print(“~~”)は、ゲームに直接かかわる命令では
なく
ゲームの開発中に何かの確認をするために用い
る
● つまり、Consoleというものはデバッグの
ために用いられる
● 今日はあまりゲーム自体の機能は使わないので
主にここを見ることになる
変数と式
● ではこれから、コンピュータに対する命令を
書くための、基本的事項を学んでいきましょう
● コンピュータはすべての処理を数字を使って
行っている
● つまり、どんな数字を使うか、その数字をどう
使うのか、という情報が必要で、
それらのことをそれぞれ、変数や式と呼ぶ
変数と式
● まぁ、数学でいう変数や式に
近いものだと思って大丈夫です
● つまり、変数に値を代入したり
式に変数を与えてある計算をさせるとか
● そういうことをします
変数
● 数学でいうxやnに相当します
● これに様々な値を代入する
● コンピュータのメモリ上に保存される
– コンピュータが読み込みやすいように、
どんな値を保存するのかを決める必要がある
– どんな値なのか、を「型」と呼ぶ
● 型には、整数型(int)、小数型(float)、
文字型(char)、文字列型(string)、
真偽値型(bool)などがある
変数の宣言
● コンピュータに対して、こういう変数がありま
すよー
ということを教えてあげないといけない
● このことを「変数の宣言」といいます
● 例えば、整数型のnという変数を使うときは、
変数への代入
● 今用意した変数nには何も入っていない
● nに値を代入しようしてprintで確認しよう
上手くできましたか?
● 変数は宣言してから代入する
● テストに出ます
質問タイム
● なにかありませんか?
● この世には答えられるものと答えられないもの
の
二つが存在します
式
● 今まで、void Start(){ ここ } にいろいろ書いて
いた
● このStart()のことを「関数(メソッド)」と呼
ぶ
● 例えば、別のところでStart(); という風に書く
と、
Start()の後ろの{}の中に書かれていることが
順に実行されていく
● 関数と言えば、値を計算した結果を返すもの
● 結果はどんな値なのか、ということを
void の部分に書いている
関数定義
● 例えば、1+2の答えを返す関数を作ってみま
しょう
– 作ることを「関数の定義」という
● 答えは整数なので「int Hoge(){}」という風
に書く
return
● この「return」が、どの値を返すか、というこ
とを
指定している
● ここで関数の実行は終わる
使ってみよう
● 関数の中でも関数は使える
● 実はさっきのprint()も関数
● 例えばHoge()と書くとこれが「3」として解釈
される
● 下のようにして実行してみましょう
関数の引数
● 関数なんだから、外から値を入力して、
その値に応じた結果を返してきてほしい
● 外からの値の入力を、「関数の引数(ひきす
う)」
といいます
● どこに書くのかというと、
int Hoge(ここ){}に書く
● 値を二つ入力してその和を返してほしいとき
は、
● 定義の部分ではこう
● 関数を呼び出す部分ではこう
解説
● int Hoge(int a, int b){}と書いているのは、
呼び出されるときに整数二つを受け取って、
それらの値をそれぞれa、bと置きます
● ということ
● この関数を呼び出すときに、ここに書かれてい
る
ことに従って、情報を入力しないといけない
やってみよう
● 整数型の値を3つ引数にとって、
それらの和を返す関数を作って、
実際に使ってみよう
● 小数型(float)を2つ引数にとって、
それらの積(*で計算)を返す関数を作って、
実際に使ってみよう
● 小数型の値と整数型の値を1つずつ引数にとっ
て
それらの差を表示してから返す関数を作って
実際に使ってみよう
● 10分ぐらいとるので質問があれば聞いてくださ
出来ましたか?
悶絶タイム
● 質問があればじゃんじゃん聞いてください
● わかってきたかな?
繰り返し文と条件分岐
● 何度も同じことをしたいときに、
その回数だけそれを書くのは馬鹿らしい
– そういうときに繰り返し文を使います
● 値によって実行する処理を変えたい
– そういうときに条件分岐を使います
繰り返し文
● 処理を繰り返すときは
● 繰り返す処理をここに書きます
解説
● これは、
「int i = 0」iという変数を0と置いて、
「i++」処理が繰り返されるたびにiに1足す
「i < 10」それをiが10未満である間繰り返す
● ということをしています
● つまり、10回同じ処理をしているのです
ちなみに
● iは、今何回目の繰り返しなのか、
ということを覚えておくための変数ですが
● 繰り返して実行される処理の部分で
使うことができます
● つまりこういうことができる
やってみよう
● 引数は取らず、
繰り返しを用いて10回何かを表示する関数
● 引数は取らず、
繰り返しを用いて10回、
繰り返しが今何回目なのかを表示する関数
● 整数型の値を1つ引数にとり、
繰り返しを用いてその階乗を求め、
表示して返す関数
● 10分ほど時間を取るので
質問があればどうぞ
できたかな?
昇天タイム
● 質問があればどうぞ
● 簡単だね!
条件分岐
● と、その前に真偽値について少し
● 真偽値とは、本当か、嘘かを表している
● bool b = false;
● という風に書く
● ある値aとある値bが等しいかどうかも真偽値
で、
a == bと書く
– aとbが等しければtrue
– aとbが等しくなければfalse
条件分岐
● 真偽値によって実行する処理を変えたいときは
if文というものを使います
if文
● の使い方
解説
● if(~~~){***}と書くと、~~~と書いた部分が真
のとき
***の部分が実行される
● そうでない時の処理も書きたいときは、そのあ
とに
else if(~~~){***}と書く
● こうでもない時の処理を書くときは、そのあと
に
else{***}と書く
やってみよう!
● 真偽値型の引数を1つとって、
それが真か偽かで
異なる文を表示する関数
● 整数型の引数を2つとって
それらが等しいとき、異なるときで
異なる文を表示する関数
● 整数型の引数を1つとって
それが偶数か奇数か(aをbで割った余りはa
%b)で
異なる文を表示する関数
● 10分ほど時間を取るので
やったか?!
賢者タイム
● ふぅ・・・
● わからないことがあればどうぞ
今日はこのくらいにしておいてやろ
う
● だんだんプログラミングについてわかってきた
なら
嬉しい
● 闇は深い・・・
● 次回は続いて、C#入門編 その2を行います
– 配列
– クラス
– public、privateなど
● 時間は5月3日(土)のこの時間に
– みんな帰省中ならその次の週でも
終わります
● ちかれた~~~
● 今やった内容でも、スピッツのことでも、
DTMのことでも、プログラミングのことでも何
でも
質問を受け付けております

More Related Content

ODP
Unity入門講座その3
PDF
Progcamp studygroup 100814
PDF
Live2Dプログラミング部
PPTX
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
PDF
RpgツクールVX ace勉強会「はじめての操作編」 20151003
PDF
【名古屋】2014/2/8 Unity勉強会2
PDF
【名古屋】2014/2/8 Unity勉強会1
PDF
Unity2Dを使ったミニゲーム開発のすすめ
Unity入門講座その3
Progcamp studygroup 100814
Live2Dプログラミング部
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
RpgツクールVX ace勉強会「はじめての操作編」 20151003
【名古屋】2014/2/8 Unity勉強会2
【名古屋】2014/2/8 Unity勉強会1
Unity2Dを使ったミニゲーム開発のすすめ

What's hot (6)

ODP
Unity入門講座その4
PDF
Live2Dでユニティちゃんを微妙に動かしてみた
PDF
Blender+αの大発表会3-WebGLAddon
PDF
Blenderソースコードリーディング
PDF
Live2Dモデリング部
PDF
第3回ue4勉強会 in 大阪 201711 ue4界隈ニュース
Unity入門講座その4
Live2Dでユニティちゃんを微妙に動かしてみた
Blender+αの大発表会3-WebGLAddon
Blenderソースコードリーディング
Live2Dモデリング部
第3回ue4勉強会 in 大阪 201711 ue4界隈ニュース
Ad

Unity入門講座その2