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

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

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

Photon Serverは、オンラインゲーム開発向けネットワークエンジン。リアルタイムマルチプレイ通信のプラットフォームであるPhotonの一つで、サーバにインストールして使うサーバアプリケーションです。全てカスタマイズが可能で権限管理もできます。

C#

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

Unity

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

Q&A

解決済

2回答

7529閲覧

【Photon】.isMineの使い方が良くわからず、困っています。

KS-_-SK

総合スコア39

Photon Server

Photon Serverは、オンラインゲーム開発向けネットワークエンジン。リアルタイムマルチプレイ通信のプラットフォームであるPhotonの一つで、サーバにインストールして使うサーバアプリケーションです。全てカスタマイズが可能で権限管理もできます。

C#

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

Unity

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

0グッド

0クリップ

投稿2020/08/01 09:37

編集2020/08/03 07:24

Photonを使って、Unityでカーレースゲームを作っています。
web上で「.isMine」を使えば、PhotonViewが自分のかを調べられると書いてあったのですが、どのように使用すれば良いのか、よくわからず、困っています。

該当のプログラム

C#

1using System; 2using UnityEngine; 3using UnityStandardAssets.CrossPlatformInput; 4using System.Collections; 5using System.Collections.Generic; 6using UnityStandardAssets.Vehicles.Car; 7 8[RequireComponent(typeof(PhotonView))] 9namespace UnityStandardAssets.Vehicles.Car 10{ 11 [RequireComponent(typeof (CarController))] 12 public class CarUserControl : MonoBehaviour 13 { 14 //private GameObject ggg; 15 private CarController m_Car; // the car controller we want to use 16 //public StartCountdownController playerScript; 17 18 void Start() 19 { 20 m_photonView = GetComponent<PhotonView>(); 21 } 22 23 private void Awake() 24 { 25 26 // get the car controller 27 m_Car = GetComponent<CarController>(); 28 } 29 30 31 private void FixedUpdate() 32 { 33 if (m_photonView.isMine) 34 { 35 if (StartCountdownController.Is_it_start == true) 36 { 37 // pass the input to the car! 38 float h = CrossPlatformInputManager.GetAxis("Horizontal"); 39 float v = CrossPlatformInputManager.GetAxis("Vertical"); 40#if !MOBILE_INPUT 41 float handbrake = CrossPlatformInputManager.GetAxis("Jump"); 42 m_Car.Move(h, v, v, handbrake); 43#else 44 m_Car.Move(h, v, v, 0f); 45#endif 46 } 47 } 48 49 50 } 51 }

エラー

Assets/Standard Assets/Vehicles/Car/Scripts/CarUserControl.cs(8,1): error CS1671: A namespace declaration cannot have modifiers or attributes

その他

・使用しているのは、StandardAssetsにある、Vehiclesです。
PhotonViewおよびPhotonTransformViewは、アタッチしてあります。

### .isMineの使用方法は合っているでしょうか。もし、違っていれば、修正方法などをご教示いただけたらと存じます。
以上となります。よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

<すみません、間違えて投稿してしまいました。>

投稿2020/08/02 00:11

編集2020/08/02 00:13
KS-_-SK

総合スコア39

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

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

0

ベストアンサー

PhotonView.IsMine は、「そのオブジェクトが自分の所で PhotonNetwork.Instantiate したか」を表します。実行中に PhotonView を Inspector で見た時に "Controlled locally" というプロパティがありますが、それです。

ちなみにエラーの意味は Photon などとは全く関係なく、namespace を宣言するところは属性を持てないということを言っています。RequireComponent はクラスの属性で、それを書く場所が間違っている、ということですね。

投稿2020/08/01 23:07

編集2020/08/01 23:11
bboydaisuke

総合スコア5308

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

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

KS-_-SK

2020/08/02 00:13

ご回答ありがとうございます。 「PhotonView.isMine」の意味がようやく理解できました。 別の方法に切り替えてみます。 誠にありがとうございました。
bboydaisuke

2020/08/02 06:51

> 別の方法に切り替えてみます。 何を実現する方法を別の方法に変えるのかわかりませんが、「ローカルで生成したオブジェクトのみ入力で操作し、他の人が生成したが自分の所にあるオブジェクトは入力で操作されない」ようにしたいならば、PhotonView.IsMine を使って正解ですよ。 参照: https://connect.unity.com/p/pun2deshi-meruonraingemukai-fa-ru-men-sono2
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問