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

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

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

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

Q&A

解決済

1回答

864閲覧

unity ブロック崩しゲーム(2D)でバーを動かしたい

clonoth

総合スコア5

Unity

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

0グッド

0クリップ

投稿2020/05/05 05:21

【チュートリアル】uGUIとPhysics2Dでブロック崩しを作ってみる
https://blog.cfm-art.net/archives/527
こちらのサイトを参考にブロック崩しゲームを作成しようと
試みていたのですが、バーを動かす箇所でうまくいきませんでした。(バーが動かない)

【判定オブジェクトにイベント時に呼ばれる関数を登録する】
https://blog.cfm-art.net/archives/527#toc26
こちらの箇所の前まではチュートリアル通りに進められたのですが
ログが表示されているかどうかわからず、その後の
【ドラッグに合わせてバーを動かす処理を記述する】
を実施してもバーが動きませんでした。

質問1.ログはどういった出力内容だったら正しいのでしょうか?
質問2.先のURLのEventTriggaer設定個所について
None(Object)にGameObject「Bar」を設定した後に
イメージ説明

No FunctionをBar→OnTouchにすると
画像の通りGameObject「Bar」がScriptの「Bar」に強制的に変わるのですが
これは、バーが動かないのと関係があるのでしょうか?
イメージ説明

質問3.サイト下部の【CanvasがScreen Space Cameraの時のクリック位置の計算】について
「Overlay用で、Cameraの時は違う」という記載がありますが
OverlayかCameraかの違いはどこでわかるのでしょうか?
なお、Bar.scをどちらにした場合もバーは動かずでした。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

質問1.ログはどういった出力内容だったら正しいのでしょうか?
ログはUnityの画面左下(最下部のバー)か、
上部メニューの「Window>General>Console」で表示されるコンソールウィンドウに表示されます。
正常なら「(143.3, 458.3)」みたいな形(数字は適当)が出ます。

質問2.先のURLのEventTriggaer設定個所について
これで正しい動作です。

質問3.【CanvasがScreen Space Cameraの時のクリック位置の計算】について
CanvasのオブジェクトをクリックしてインスペクタのCanvasコンポーネントを見ます。
「Render Mode」という項目が「Screen Space - Overlay」となっていたらOverlay、
「Screen Space - Camera」となっていたらCameraです。


実際に動かない原因ですが、コンソールウィンドウにエラーが表示されていないか確認してください。
また、TouchAreaオブジェクトの大きさや位置、EventTriggerを付けているオブジェクトを間違えていないか等を確認してください。

投稿2020/05/05 08:58

sakura_hana

総合スコア11427

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

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

clonoth

2020/05/09 13:02

回答ありがとうございます。 エラーは出力せず ・バーが動かせないためボールが下に落ちる →最初からゲームが始まる→バーが動かせないため・・・以下ループ という動きになります。 ※ボールが下に落ちたら、最初からゲームが始まるのは想定どおりです。 また、ログも出力されませんでした。 「EventTriggerを付けているオブジェクト」は チュートリアル通り、TouchAreaに付けています。 ちなみに教えていただいたCanvasの「Render Mode」は「Screen Space - Overlay」でした。
sakura_hana

2020/05/11 01:06

あとあり得そうなのは、「うっかり別のオブジェクトを作ったとか並び順を変えてしまったとかで、別オブジェクトが重なっている」「うっかりRaycastTargetのチェックを外してしまった」等の理由でクリックされないとかでしょうかね…… ゲーム再生開始→ヒエラルキー上の「EventSystem」をクリックしてインスペクタ表示→下の方の情報を見る(出てなかったら「EventSystem」の横の二重線をクリック)→Current RayastやPress Rayastなどを見て、カーソルが当たっているかチェックする(ここで選択されていなかったら、何らかの理由でカーソルが当たらないことになっている) を試してみてください。
clonoth

2020/05/20 11:39

こちらの返信が遅くなり申し訳ありません。 ヒエラルキー上に「EventSystem」たるものがないのですが、その時点でおかしいでしょうか?
sakura_hana

2020/05/21 08:43

おかしいというか恐らくそれが原因ですね。 ヒエラルキーパネルの上で右クリック→UI→EventSystemとやると作成出来るので、その状態で試してみてください。
clonoth

2020/05/28 02:09

EventSystem作成したらドラッグでバーが動きました! 解説いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問