Page 1 of 1

スプライトをクリック(タップ)で画面遷移

Posted: 2019/09/27 06:32
by Guest
程度が低い質問で恐縮ですが、スプライトをクリックで画面遷移
という挙動が実現できずに困っています。

1.やったことはMain CameraにPhysics 2D Raycasterを追加しEvent Maskに
 事前に作成しておいたLayerの"Sprite"を指定。
2.シーンにEventSystemを配置。
3.クリックされるスプライト「Cat」にEdge Collider 2Dを追加しIs Triggerにチェック。
4.「3」で追加したCatにArbor FSMを追加し開始ステートとしてOn Pointer Click Transtionを追加し
 Check Buttonにチェック、Buttonに「Left」を設定。
5.さらにステートを作成しLoad Levelを追加しLevel Nameにシーン名を設定。
 「4」で作成した開始ステートのNext State先として設定。

以上です。
 

Re: スプライトをクリック(タップ)で画面遷移

Posted: 2019/09/27 07:13
by caitsithware
Unityの使い方の問題のようですね。
ゲスト wrote: 2019/09/27 06:32 3.クリックされるスプライト「Cat」にEdge Collider 2Dを追加しIs Triggerにチェック。
  • まず、この時CatオブジェクトのLayerを"Sprite"にしていますか?
    Physics 2D Raycasterで指定したEvent Maskはどの相手に判定するかを指定するものですので、判定される側(Catオブジェクト)のLayerも変更する必要があります。
  • そして、Edge Collider 2Dは線分との判定のみのため(囲った内部との判定は取れない)、Polygon Collider 2Dなどを使用する必要があります。
上記2点をひとまずご確認ください。

また、ArborはUnityの基本的な仕様の上で動作するアセットですので、今一度Unityの使い方について本などで覚えることもお勧めいたします。

Re: スプライトをクリック(タップ)で画面遷移

Posted: 2019/09/27 10:23
by Guest
まず、この時CatオブジェクトのLayerを"Sprite"にしていますか?
はい設定しています。
そして、Edge Collider 2Dは線分との判定のみのため(囲った内部との判定は取れない)、Polygon Collider 2Dなどを使用する必要があります。
Polygon Collider 2Dに変更したところ想定通りの動きになりました!
Unityの使い方の問題にもかかわらずありがとうございました。