無事に出来た人はお疲れ様でした。
無事じゃない人はもうちょっとがんばりましょう。
まあ、インストールしていなくても問題ないです。
前回の最後で書いたとおり、しばらく使わないので。
Unityも使わない、すぐにプログラムも書かない。
「じゃあ何するんだよ!」
って感じですが、簡単に言うとお勉強です。
たとえば、下のプログラムは、Unityに最初から入っているキャラクターを動かすプログラムですが・・・
function ApplyJumping () { // Prevent jumping too fast after each other if (lastJumpTime + jumpRepeatTime > Time.time) return; if (IsGrounded()) { // Jump // - Only when pressing the button down // - With a timeout so you can press the button slightly before landing if (canJump && Time.time < lastJumpButtonTime + jumpTimeout) { verticalSpeed = CalculateJumpVerticalSpeed (jumpHeight); SendMessage("DidJump", SendMessageOptions.DontRequireReceiver); } } } function ApplyGravity () { if (isControllable) // don't move player at all if not controllable. { // Apply gravity var jumpButton = Input.GetButton("Jump"); // When we reach the apex of the jump we send out a message if (jumping && !jumpingReachedApex && verticalSpeed <= 0.0) { jumpingReachedApex = true; SendMessage("DidJumpReachApex", SendMessageOptions.DontRequireReceiver); } if (IsGrounded ()) verticalSpeed = 0.0; else verticalSpeed -= gravity * Time.deltaTime; } }
「1行目ではApplyJumingという関数を定義しています。」
「13行目ではゲームオブジェクトに"DidJump"メッセージを送信しています。」
「34行目からは、着地しているかどうかで、垂直の移動速度の処理が分岐しています」
・・・なんて書いても、なんのこっちゃって感じですね。
英単語の意味から、なんとなーく、分かるかもしれません。
しかし、なんとなくで読めても、なんとなくで書けるものではありません。
中には、上記のようにプログラムをまず見せてから、部分的に書き換えて
「ほら、ここをこうやって変更すると、キャラクターの動きが変わりましたね!」
「つまり、この処理は○○という機能を表しているのがわかりますね」
みたいな教え方をする人とか本とか、あると思います。
が、そういうのは、ある程度プログラムの知識がある人が、ある程度プログラムの知識を持ってる人に
教えるようなスタイルじゃないかなーと、個人的には思います。
なので、そういうスタイルはとりませぬ。
かといって、ダラダラと理論ばっかり並べ立てたり、どうでもいい仕様とか書き綴るのは
たぶん退屈です。書いてるほうも退屈です。
そうならないように、注意しつつ、なるべく
「これはゲーム開発のためにやってるんだよ」
みたいなのを意識できるような風に書いていこうと思います。
さてそろそろ、「わかったからとっとと書け。つまらん。ラノベか」ってカンジですね。
次からは本当に、C#のお勉強です。
今日はここまで。
なかなか難しいなぁ。
0 件のコメント:
コメントを投稿