質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

11217閲覧

Unity2dでオブジェクトをドラッグ移動できないものがある

bakaemon

総合スコア35

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/08/21 08:50

###前提・実現したいこと

Unity超初心者です。
オブジェクトをマウスドラッグでプレイ中に移動できるようにするソースがあり、
どれも同じようにプレハブ化しているつもりなのですが、できるものとできないものがあります。

できないものに関しては、ソースファイルをAddComponentした後にドラッグしてもまったく反応がなく、コンソールにも何もでてこない状態です。

何か心当たりがあったりするでしょうか?

###該当のソースコード

↓以下のソースが該当のものです。

//The original code is obtained from http://answers.unity3d.com/questions/581904/2d-mode-trying-to-make-a-sprite-dragable.html for my future reference. //By Shatcore 2013 using UnityEngine; using System.Collections; public class ButtonClick : MonoBehaviour { float x; float y; // Update is called once per frame void Update(){ x = Input.mousePosition.x; y = Input.mousePosition.y; } void OnMouseDrag(){ transform.position = Camera.main.ScreenToWorldPoint(new Vector3(x,y,10.0f)); } }

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

※原因

設定したオブジェクトのTransformのz軸のPositionが、他のオブジェクトと一緒だった。

投稿2017/08/21 15:53

bakaemon

総合スコア35

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

マニュアルによると、OnMouseDragGUIElementColliderを持つオブジェクトでないと呼ばれないように思います。ドラッグできるものとできないもので、この辺の違いはあるでしょうか?

投稿2017/08/21 09:24

Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bakaemon

2017/08/21 11:05

Colliderは設定してありますし、InspectorにTransformなども表示されているので、GUIElementとしては扱われているのかなと思います。 (画像ファイルをいったんAssetsに置いた後、Hierarchyに設置したカンジです。)
Bongo

2017/08/21 12:07

こちらでも何とかその「あるオブジェクトはドラッグできるのに、別のオブジェクトはドラッグできない」という状況が再現できないかと思うのですが、手順としては「Assets内の画像ファイルをヒエラルキー上にドロップ」→「そのドロップしたオブジェクトにコライダー(Box Collider 2Dなど)とButtonClickスクリプトをアタッチ」といった感じでしょうか? ドラッグできるものとできないものの違いは画像ファイルの違いぐらいだけでしょうか。たとえばドラッグできないものはLayerが「Ignore Raycast」になっていた...とか? その他、http://answers.unity3d.com/questions/397143/onmousedrag-not-working-.htmlに寄せられたコメントの中に、UnityとMonoDevelopを終了して起動しなおしたらなぜか動くようになった...というものがありましたが、ご質問者さんの場合はどうでしょうか?
bakaemon

2017/08/21 17:34 編集

ご丁寧にありがとうございます。 再起動、試してみましたが、ダメでした・・・。 そして、原因がわかりました・・・。 Transformのz軸のpositionが、他のオブジェクトと一緒だったのです。 そうすると、私ではまだ詳細な原因までは把握できないのですが、ドラッグができなくなるようです。(他の同じz軸のpositionのオブジェクトとの違いを判断できないとかそんなカンジでしょうか?) ありがとうございました。
bakaemon

2017/08/22 14:29

なるほど。コライダーがカブってかつZ軸もカブっていると良くないことが起こるんですね。 ありがとうございました。m-_-m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問