「Unityではじめる2Dゲームの作り」を読む際の注意点

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
ロリポップ! はコスパのよい初心者向けサーバーです~

目次

はじめに

Unityに関連する書籍は多く出版されている。

現在Unityの最新バージョンは5.6.1であるが、書籍というのは書くのに時間がかかるため、最新のバージョンを常に追えるわけではない。

場合によっては、ひどく前のバージョンの書籍がいまだに流通していたりする。

「Unityではじめる2Dゲームの作り」もそのような本の一つであり、書籍での対応バージョンは、4.5.4である。

Unityではじめる2Dゲーム作り徹底ガイド スマートフォンでも遊べる本格ゲーム開発に挑戦

 

古いからと言って、読む価値がないかというと、そうではない。

なぜなら、ゲームの作り方に対する根本的な考え方は大きく変化しないからだ。

ゲームを楽しんでもらうために、凝らすべき工夫は何か?

アクションゲームを作るのに必要なアルゴリズムは何か?

ゲームを作るにあたって抑えておくべきポイントをこの本ではしっかり解説されている。

そのような観点からも、「Unityではじめる2Dゲームの作り」は今でも読む価値がある。

少なくとも私はそう思っている実際に、お金を払って買っているわけだし

とはいえ、読んでみると、現在の最新バージョンとの食い違いがあるので、戸惑う場面が多々あった。

そこで、この記事では、最新バージョンと比較して、「Unityではじめる2Dゲームの作り」を読むにあたって注意すべきポイントを説明していきたい。

本を読むスタイル

この本を読むには、以下の2つのスタイルが考えられる

1:手元で使っている新しいバージョンのUnityを使用する。
2:古いしいバージョンのUnityをダウンロードして使う。

私自身、最初は、新しいバージョンを使って、本に載っているコードを動かしていた。

むろん、古いバージョンと新しいバージョンでコードが食い違うことがあった。その場合は、ネットや今までの知識を使って、古いコードを新しいコードに書き換えていた。

2章や3章までなら、このスタイルである程度なんとかなる。

しかし、5章以降の内容を新しいバージョンでも動くように実装するのは困難である。

特に、5章(p146)で紹介されているAnimatorとSprite Renderを親と子に分けるのは、現在のバージョンではできないと思われる。(できるのなら、やり方を教えて欲しい)

おとなしく、最初から古いバージョンでサンプルコードを動かした方が楽である

古いバージョンのUnityを導入する

次の記事を参照:古いバージョンのUnityを導入する方法

古いコードと新しいコードの比較

2章と3章については、新しいバージョンでも動くように書き換えていたことがある。

このときの経験をもとに、どのようにコードを変えればなんとかなるか、書き残しておく。(2章のみ)

p33のTank.csのコード

タンクの移動部分

古い書き方

// タンク移動
rigidbody2D.AddForce (new Vector2(+30.0f, 0.0f));

新しい書き方

  GetComponent<Rigidbody2D>().AddForce(new Vector2(+30.0f, 0.0f));

 

シーンの切り替え

古い書き方

Application.LoadLevel(Application.loadedLevelName);

新しい書き方

 SceneManager.LoadScene(SceneManager.GetActiveScene().name);

書き換えた後は、

using UnityEngine.SceneManagement;

を一番最初に書き加えるのを忘れずに。

 

p34のCore.csのコード

最後の部分

古い書き方

rigidbody2D.AddForce(new Vector2(1000.0f,-1000.0f));

新しい書き方

GetComponent<Rigidbody2D>().AddForce(new Vector2(+1000.0f, -1000.0f)); 

Unityではじめる2Dゲーム作り徹底ガイド スマートフォンでも遊べる本格ゲーム開発に挑戦

~ギャンブルに絶対儲かる必勝法があるのだろうか?~

私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。

このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。

ギャンブルの必勝法が本当に儲かるかプログラミングで検証してみた

     

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)