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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

Q&A

解決済

2回答

190閲覧

windows、android上でのオブジェクトの移動

dousuruyo

総合スコア74

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

0グッド

0クリップ

投稿2018/08/11 07:19

編集2018/08/11 07:29

前提・実現したいこと

2Dシューティングゲームで、時機を移動させたいですが、移動できません!

色々調べましたが、限界でした
unity上および実機のandroidにビルドしたときに動かせるように対応したいです

該当ソースはたくさんありますが、どのファイルをここに張ればよいのかもわからないので、
原因の特定に足りない情報があれば随時いってもらいたいと思っています><

発生している問題・エラーメッセージ

該当のソースコード

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class RocketController : MonoBehaviour { 6 public GameObject bulletPrefab; 7 private float timeElapsed; 8 private Vector2 touchPosition; 9 10 // Use this for initialization 11 void Start () { 12 13 } 14 15 // Update is called once per frame 16 void Update() { 17 timeElapsed += Time.deltaTime; 18 if (Application.platform == RuntimePlatform.Android) { 19 touchPosition = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); 20 } 21 22 //if (Input.GetKey(KeyCode.LeftArrow) && transform.position.x > -2.5f) { 23 // transform.Translate(-0.1f, 0, 0); 24 //} 25 //if (Input.GetKey(KeyCode.RightArrow) && transform.position.x < 2.5f) { 26 // transform.Translate(0.1f, 0, 0); 27 //} 28 // プラットフォームによらないマウス・タッチ判定 29 if (Input.GetMouseButton(0)) { 30 if (touchPosition.x > transform.position.x && transform.position.x < 2.5f) { 31 transform.Translate(0.1f, 0, 0); 32 } 33 if (touchPosition.x < transform.position.x && transform.position.x > -2.5f) { 34 transform.Translate(-0.1f, 0, 0); 35 } 36 if (Input.mousePosition.x > transform.position.x && transform.position.x < 2.5f) { 37 transform.Translate(0.1f, 0, 0); 38 } 39 if (Input.mousePosition.x < transform.position.x && transform.position.x > -2.5f) { 40 transform.Translate(-0.1f, 0, 0); 41 } 42 } 43 44 if (Input.GetKeyDown(KeyCode.Space)) { 45 Instantiate(bulletPrefab, transform.position, Quaternion.identity); 46 } 47 48 // androidのときは1秒ごと発射 49 if (Application.platform == RuntimePlatform.Android) { 50 if (timeElapsed >= 1.0f) { 51 Instantiate(bulletPrefab, transform.position, Quaternion.identity); 52 53 timeElapsed = 0.0f; 54 } 55 } 56 } 57} 58

試したこと

getmousebutton(0),mousepositionなど試しましたが動きませんでした
サンプルサイトを基にして作ったので、当初はPC対応のところはコメントアウトしている部分で実現できていたのですが、全体的にandroid対応の方法がわかりませn

補足情報(FW/ツールのバージョンなど)

unity2017.f4.1

全然何もわかりませんが、何か少しでも手掛かりをよろしくお願いします。。。

ちなみにunityの画像はなぜか添付できませんでした。。

そもそもフレームワーク?ライブラリ?一つ導入すれば解決できる問題なのであれば導入するべき場所なんかも教えてもらえるとありがたいです

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

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

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

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

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

guest

回答2

0

自己解決

https://qiita.com/JunSuzukiJapan/items/931776ecc2a545b87045
https://qiita.com/tempura/items/4a5482ff6247ec8873df
以前から調べていたこの辺の記事を見返して、ページに書いてあったクラスをほぼそのままコピペ、使用(AppConstのみNotFoundしたためApplication.platformのif分岐を使用)することで「自己解決」しました

投稿2018/08/12 13:05

dousuruyo

総合スコア74

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

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

0

タッチ部分が悪い可能性があるかもしれないのでこの記事を見て実装し直したらどうですか?

https://qiita.com/tempura/items/4a5482ff6247ec8873df

投稿2018/08/11 07:38

M_Kazuma

総合スコア34

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

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

dousuruyo

2018/08/11 07:44

一応そのサイトも何度か参考にした上でそれを自分なりの取り込んだソースの形が今添付してある形です なので、何が悪いのかわからないのは変わらないです 実行してみた限り、if (Input.GetMouseButton(0))の中に、クリック押し続けても一回しか入っていない気がしますupdates()なのでずっとifの中に入り続けることを期待してたのですが
M_Kazuma

2018/08/11 08:02

なにか認識が間違ってるかと思います。 まず参考にして自分なりにやるというのは、記事の投稿者様よりもっとスマートにかけるということではないのでしょうか? 記事の投稿者様は、タッチに関するオリジナルのクラスを作り、それを使用してタッチ判定を処理しているかと思います。 逆にあなたは、記事にあるAppUtilクラスがどういうものかを理解せずコードを書いたように見えます。 長文になりましたが、参考にして自分なりに取り込むとはどういうことか考えてみてはいかがでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問