SlideShare ist ein Scribd-Unternehmen logo
1 von 53
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」と
でも
名前を付けてください
画面の説明
● 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のことでも、プログラミングのことでも何
でも
質問を受け付けております

Weitere ähnliche Inhalte

Was ist angesagt?

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

Was ist angesagt? (6)

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

Unity入門講座その2