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

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

ただいまの
回答率

90.51%

  • C#

    7145questions

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

  • Unity

    4022questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

  • Unity3D

    1300questions

    Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Androidでプレイヤーを移動させたい - Multiplayer Networking

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 164

Yuki_Unity

score 119

実現したいこと

こちらの公式チュートリアルを参考にWindowsでのチュートリアルは終えたのですが、これをAndroidやIOSなどのモバイル端末で実現したいです。
今はボタンでの操作がしたいのですがなかなかうまく行きません。

したこと

公式チュートリアルの、6.Networking Player Movementの「PlayerController」スクリプトの完成品を少し変えました。
具体的には変えようとしたものは、(下記は公式チュートリアルのもの)

using UnityEngine;
using UnityEngine.Networking;

public class PlayerController : NetworkBehaviour
{
    void Update()
    {
        if (!isLocalPlayer)
        {
            return;
        }

        var x = Input.GetAxis("Horizontal") * Time.deltaTime * 150.0f;
        var z = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f;

        transform.Rotate(0, x, 0);
        transform.Translate(0, 0, z);
    }
}


しかし僕は

using UnityEngine;
using UnityEngine.Networking;

public class PlayerController : NetworkBehaviour
{
    bool Forward = false;
    bool Backward = false;
    bool RightRotate = false;
    bool LeftRotate = false;

    void Update()
    {
        if (!isLocalPlayer)
        {
            return;
        }

        if(Forward == true)
        {
             //前方
        }
        if(Backward == true)
        {
             //後方
        }
        if(RightRotate==true)
        {
             //右回転
        }
    }

    public void ForwardDown()
    {
          Forward = true;
    }
    public void ForwardUp()
    {
          Forward = false;
    }
    public void BackwardDown()
    {
          Backward = true;
    }
    public void BackwardUp()
    {
          Backward = false;
    }
    public void RightRotateDown()
    {
          RightRotate = true;
    }
    public void RightROtateUp()
    {
          RightRotate = false;
    }
    public void LeftRotateDown()
    {
          LeftRotate = true;
    }
    public void LeftRotateUp()
    {
          LeftRotate = false;
    }
}


そして、「public void」をそれぞれボタンから関連付けます。

しかし、これではボタンのEventTriggerから見つけることができませんでした。
また、「Game」では実行したときにボタンすら表示されませんでした。

どうすればAndroid,IOS向けに移動させることができるでしょうか?

もしくは、ボタンからではなく、他に良い移動手段ありますかね?

環境

Windows8.1
Unity3d
Unity2017.1.1f1

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • Zuishin

    2018/01/09 21:02

    情報が全然足りません。こちらで再現できるよう丁寧に一から書いてください。

    キャンセル

  • Zuishin

    2018/01/10 18:05

    言い方を間違えたでしょうか。チュートリアルの通りにできないのなら改変する前にまずチュートリアルを終えてください。できるのなら一度に変えず少しずつ変えながらどこを改変したらボタンが消えるのかを確認してください。

    キャンセル

  • sakura_hana

    2018/01/10 18:08

    「ボタンすら表示されない」とのことなので、そもそもボタンの作り方が間違っている可能性があります。どのように作成しているのか追記すると回答が付きやすくなります。

    キャンセル

  • Zuishin

    2018/01/10 18:09

    この質問には複数の問題が含まれています。ボタンが表示されないということと、ボタンのイベントハンドラとして認識されないということです。一度に解決しようとせず、問題をできるだけ小さくして順番に片付けましょう。まずはボタンを表示することに集中してください。

    キャンセル

まだ回答がついていません

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

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    Unityでのナビゲーションラインの実装について

    unityでナビゲーションラインを実装したいと思っています。 画像中央の青いラインみたいなもの、プレイヤーから特定のオブジェクトに対して線を引き、方向を教える。 現在LineRe

  • 解決済

    【Unity】実行から10秒後にタイマーを表示させたい。

    ゲーム実行から10秒後に30秒のカウントダウンタイマーを表示させたいと思っています。 using UnityEngine; using UnityEngine.UI; usi

  • 解決済

    unityでのキャラクターの復活

    unityで特定のオブジェクトにプレイヤーが触れた時プレイヤーがDestroyさせ、3秒後に初期位置で復活させるといった スクリプトを書きたいのですが、キャラクターをDestro

  • 解決済

    パーティクルシステムの再生位置をスクリプトで制御したい。

    前提・実現したいこと シーン上のパーティクルシステムの再生時間をスクリプトで制御したいと思っています。 シーン上にパーティクルシステムを置いた場合、そのシミュレートとして、

  • 解決済

    Unity スクリーンショットのタイミングと連写機能

    Unityでスクリーンショット機能を持ったシステムを作っています。 それぞれの機能はこのように実装したいと思っています。 ボタンA:押すと5秒後に自動でスクリーンショットを

  • 解決済

    unity のtoggle の使い方について

    前提・実現したいこと unityでオンオフスイッチを実現するためにtoggleを使おうと考えています。 toggleにチェックか入っているか否かをif文の判別に使用したいです。

  • 解決済

    Unity UIの動的生成

    「B」というタグがついたCubeが「A」というタグのついたCubeに衝突したとき、所定の位置にUIを生成させようとしたのですが、なぜか見当違いな位置に生成されてしまいます。そして、

  • 解決済

    [Unity] GameObject型が宣言できない?

    GameObject型にGameObject.Find()の結果をいれることができません。 ObAとObBをGameObject、 ScAとScBをスクリプトとします。 ObA

同じタグがついた質問を見る

  • C#

    7145questions

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

  • Unity

    4022questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

  • Unity3D

    1300questions

    Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。