無事に出来た人はお疲れ様でした。
無事じゃない人はもうちょっとがんばりましょう。
まあ、インストールしていなくても問題ないです。
前回の最後で書いたとおり、しばらく使わないので。
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 件のコメント:
コメントを投稿