チャプター3SwipeCar

 

データのインポートとシーンの保存

サンプルファイルをダウンロード

『Unityの教科書 Unity 2020全対応版』サンプルファイル | SBクリエイティブ
『Unityの教科書』内に掲載したサンプルゲームのプロジェクトファイルならびに素材データが収録されています。

アセットウィンドウに指定のファイル(2つのpngファイル)をドラドロ

理由が理解できなかったがGameウィンドウ内の設定を使いVSyncを選択。

unityエディターではなくmacのツールバー?からbuild設定を変更してスマホで使えるように。

iO Sを選択してからswitch Platform.

 

設定が終わると、Gameウィンドウのaspec(画面の縦横比)にスマホの選択肢が出てくる。

適当に選んでおく。

シーンを保存する。

アセットの中に保存される模様。

アセットの中に保存されていた。

だがしかし他のアセットと一緒になるよりかScenesというフォルダにまとめたいなと思ったので、保存先を変える。

 

ゲームオブジェクトの配置

アセットにインポートしたルーレットの画像をドラドロ。

Hierarchyウィンドウにもrouletteオブジェクトが現れる。

Hierarchyウィンドウのrouletteを選んだ状態でInspector画面のpositionをいじると正確に場所を指定できる。

2Dなのでx=0,y=0にすると中央に配置される。zは何?

次に針を配置。

オブジェクトを置いた順番で決まるのかわからないが、Sprite RendererのOder in Layerの数字をいじるとレイヤの重なり具合(どちらが上に行くか)を指定できる。

それから背景の色を変える。

 

ルーレットを回すスクリプトを書く

Projectウィンドウ上で右クリックをしてファイルを新規作成する。

Create > C# Script

名前はrouletteControllerにしました。ご自由に。

このファイルも、スクリプトをたくさん描くようになったらフォルダを作って管理した方がいいんだろうなと思う。

ダブルクリックすると、開きます。

で、ルーレットを回すコードをココに書くわけだが。。

スクリプトかくの?

 

最初にダウンロードしたデータの中にありました。

開いて、中身をコピーしてペーストします。

スクリプトの解説は割愛。

Updateメソッドは「フレーム毎に」実行する。

「フレーム」とは?

ゲームに限らず画面というものは、一定時間毎にゲームの画面を変えて動きをつけたり、情報を見せたりしますね。その最小単位をフレームと呼んでいる、と思います。

フレーム毎に、回転させるスクリプトですね。

 

GetMouseButtonDownを使っています。

押されたら、発動するメソッド。

ここでは使われていないけれどGetMouseButtonというメソッドもあるらしい。

クリックされている(押されている?)間、ずっとtrueを返すらしい。

Input-GetMouseButton - Unity スクリプトリファレンス
マウスボタンが押されているかどうかを返します

 

「こんな動きできるかなぁ」と思ったら。探してみようか!?

 

名前の重要性?

スクリプトの対象になっている(回す)ルーレットにドラドロするとエラーが発生。

classが見つからないそうです。

あ、もしかして・・・ファイル名で認識しているようです。

rouletteControllerのrをRにするとドラドロできました。

rouletteオブジェクトのinspectorにC#scriptが追加されました!(アタッチされた、と表現するそうです)

保存をしてゲームを始めてみます。

動きましたー!!!!!!!

 

わーい

 

ちなみに、スクリプトに書かれている、回転速度を減衰させるコードは

this.rotSpeed *= 0.96f;

これで指数関数的に減衰するようだが。

Updateメソッドで動くため、掛け算を繰り返すようにできている。

*= 演算子 - Visual Basic
詳細情報: *= 演算子 (Visual Basic)

fは不明。

早速スマホに実装!?

UnityプロジェクトをXcode(コンパイラー)で取り込めるように書き出して、Xcodeでビルドする。という流れ。

Build SettingのScenes In BuildにHierarchyウィンドウのGameSceneをドラドロ。

元から入っていたScenes/SampleSceneは使わないのでチェックを外します。

Buildを押すとエラー。

このプロジェクトを保存したChapter3というフォルダの外にフォルダを作成。

Buildできるかな・・・

できた。

Buildprojectという名前のフォルダにわんさかとファイルが作られていました。

このファイルを開くと、Xcodeが起動する。

取り込んだ矢先、むちゃくちゃエラーが出た。

 

ひとつずつクリックしたら自動で直してくれた。

 

次にこちらをクリック。

development teamがどうこうと言われた。TeamとBuild Identifierが辻褄合わないとエラーが出る模様。DeafultCompanyを別の言葉にしてなんとかかんとかエラーが出なくなるようにしました。

 

iPhoneをUSBで物理的に繋いで実装する準備をする。

繋げると、自分のiPhoneを選択できるようになる。

 

ビルドした。

失敗した。

【 Unity 】 iOS アプリをビルドして実機で実行する手順
Unity で iOS向けにビルドして生成したXcodeプロジェクトを使ってiPhoneで動作するアプリケーションのビルド・実行手順について説明します。 iOS アプリのビルドはXcodeで行うのですが、署名に関する設定や実機デバイスの登録

iPhoneの設定>一般>デバイス管理で信頼するを選択。

 

こちらの記事は使わなかったが、実装がうまくいかない例もある模様。

【補足】実機での実行に関して | SBクリエイティブ
▼スマートフォン向けのビルドができない場合 Unity2017.3からは、Androidをビルドするときに「G

 

成功した。

 

うーん。

針が円盤の下にあるのは何故だろう・・・・

コメント