Unityでプログラム(スクリプト)を動かしてみた
「よし、基本も学べたし、いよいよプログラムを書くぞ!」
スクリプト? プログラムを書く紙みたいのは前に作ったから、ダブルクリックで起動してっと。
「うーん、最初だし、プログラミングの世界で有名な『Hello World!』って奴を表示してみようかな」
この『Hello World!』はどの言語でもお試しに使う、プログラミングのチュートリアルみたいなものだ。
「まあ、最初だし、コピペでいいか」
プログラムのコピー&ペーストは本当はしてはいけないって、漫画で読んだことがある。
今回は初心者だし、お試しだから別にいいだろう。
適当にサンプルのプログラムを探して、コピペしよっと。
「うーん、なんか書いてることが微妙に違うな? まあ、たぶん動くだろ」
『Start』って書いてるカッコの中に、『Console.WriteLine("Hello world!");』ってコピペしてみた。
これで動くのだろうか?
えーっと、Unityでのプログラムの動かし方はっと……。
「画面上部中央の再生ボタンを押せばいいのか。ポチッとな」
んん? なんの変化も見られないぞ?
なにか間違っているのか? とにかく、調べてみよう。
「なるほど。プログラムを書いただけじゃダメなんだ!」
今の状態はゲームを身体で例えると、身体を動かすためのプログラムという筋肉がない状態だ。
そして、ただ筋肉があるだけでもダメだ。『骨格』が必要になる。
その『骨格』に当たるのが、『オブジェクト』と呼ばれるものだ。
このオブジェクトにプログラムを付与することで、プログラム通りの命令を実行するようだ。
身体を動かすためには、骨格となる『オブジェクト』、筋肉となる『プログラム(スクリプト)』が必要になる。
「よし、オブジェクトを作ってみよう! 右クリックだけで済むみたいだから、簡単みたいだ」
Hierarchyの枠のなにもないところを右クリック。
メニューが出るので、その中から『Create Empty』を選ぶ。
「お、GameObjectってのができた! これにさっきのスクリプトを付与してやればいいんだな?」
GameObjectをクリックして、Inspectorのウィンドウを確認する。
Transformってのがあるな。Inspectorのなにもないところに、スクリプトをドラッグ&ドロップする。
これでGameObjectに、プログラムであるスクリプトを付与できた!
「よし、今度こそ動くだろ! あ、あれ? またなにも反応がない……。なにが悪いんだ? もっかい調べよう!」
……
…………
………………
原因がわかった!
Unityには独自のプログラムの書き方があるみたいだ。
それと、プログラムを書いただけで、保存をしてなかったのも悪いみたいだ。
ちゃんと保存して、プログラムを書き換えないと反映されないみたいだ。
上書き保存のショートカットは、Ctrl + Sキーだな。
Unity用の書き方も確認しよう。
「えーっと、このサイトを見る限りだと、『Debug.Log』ってのを使えば表示できるみたいだ」
Startのカッコの中に 『Debug.Log("Hello world!");』と書き込んだぞ。
このStartってのは、『関数』と呼ばれるものらしい。
詳しくはまだよくわからないけど、関数自体は便利なものみたいだ。
そのうち、わかるときが来るんじゃないかな?
今は便利なものとだけ覚えていよう。
「よし、上書き保存もして、スクリプトの内容も書き替えた。Unityの画面に戻って、再生ボタンを押そう」
俺は祈る気持ちで再生ボタンを押す。
「おお! 画面下に『Hello world!』って表示されてる! でも、わかりづらい!!」
俺はわかりづらいのが気になってしまい、何かないかと探してみる。
『Project』ウィンドウの隣に、タブで『Console』とあるのを見つける。
それをクリックしてみると、『Hello world! UnityEngine.Debug:Log (object)
TEST:Start () (at Assets/TEST.cs:11)』と詳細に書かれているのがわかる。
ふむふむ。これは『Debug.Log』を使ったから『Hello world!』と表示されたって説明しているんだな。
おまけに、どのスクリプトの何行目ってのも書いているみたいだ。
これはすごいな! これならどこかで間違えていても、どの行でエラーが出ているのかがわかるぞ!
動きがわかったので、一旦停止ボタンを押してプログラムを止める。
「そういえば、『Start』のほかに『Update』ってのもあったな? そっちに書いたらどうなるんだろ? うーん、気になることは試そう! 切り取って張り付けてっと……」
思い付きでスクリプトの内容を書き換える。上書き保存も忘れない。
さてさて、どうなるかなっと。再生ボタンを押してみる。
「うわわっ! Console画面に『Hello world!』ってたくさん流れていく! ストップ、ストーップ!!」
慌てて停止ボタンを押す。
どういうことなんだと、Unityの使い方を説明しているサイトを確認する。
『毎フレームごとに呼び出されて、実行される関数』と書かれている。
つまり、この『Update』の中に書いた処理は『ずっと動き続ける』ってことか。
どういうときに使うものなんだ、これは?
今のところ、迷惑以外になにもないんだが……。
調べてみた結果、ざっくり説明になるけれど、この『Update関数』というものは、『時間』を扱うものらしい。
常に動き続ける。だから、『時間』だ。
詳しいことはわからんが、俺が説明を読んだ感想はそれだ。
『Start』と『Update』という二つの関数。
『Start』は、書いているプログラムが、最初に動く関数ってとこか。
『Update』は、書いているプログラムが、常に動き続ける関数だ。
まとめると、こういうことみたいだ。
厳密には違うんだろうけど、俺が思った感想としてはこんな感じだ。
よし、これであとは俺の自由な発想次第でゲームが作れるな!
ここから俺のゲーム制作が始まるんだ。楽しみだぜ!
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます