[過去ログ] Unityで何かゲームを作りたいんだがね [無断転載禁止]©2ch.net (257レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
168(1): 2020/05/11(月)00:27 ID:afpWqH1Q(1/2) AAS
photonViewの中には色んなものが入っていてOwnerは所有権持ってる人の情報がPlayerという型で入ってる
やってる事はこれと同じで初期化がまとめられてたり型や値の取り出し方が違うだけ
float takasa = 0;
takasa = transform.position.y;
IDE使ってたらその辺の情報はカーソル当てれば出てこないか?
そもそもStart()で動かすとかphoton自体の準備ができてなくてまともに動かないコードな気がするが
169(1): 2020/05/11(月)00:41 ID:W+d7HMEa(1) AAS
>>168
Playerの_playerにするのはなぜなんだぜ?
playerだけでもいいような。
IDEは赤い下線が出なきゃおkくらいにしか思ってませんでした。
170: 2020/05/11(月)01:12 ID:afpWqH1Q(2/2) AAS
>>169
そのIDEが設定してるコーディング規約でそうなってるんだろう
変数がローカルなのかプロパティなのかみたいなのが使ってるところを見ただけで判るし混同しにくくなるからバグも減る
動作としては名前なんてどうでもいいけど開発効率を考えるとちゃんとやったほうがいい
171: 弟子 2020/05/11(月)04:55 ID:eNWV+got(1/4) AAS
アンダーバー付けてる変数名はその関数内だけとか、if ブロック内だけとかで使ってるだけとか、まぁ自分ルール
172: 弟子 2020/05/11(月)10:10 ID:eNWV+got(2/4) AAS
>>167
このStart関数はこんな感じ
void Start()
{
Player _player = photonView.Owner;
textName.text = _player.NickName;
if (_player.IsMasterClient) gameObject.name = "Master";
else gameObject.name = "Client";
if (photonView.IsMine)
{
Color _color = srImage.color;
_color.a = 0;
srImage.color = _color;
}
}
_player はただ単にニックネームを取得する為だけのものなのでこの場で宣言してるだけ
本来なら変数は
Player _player ; で宣言して、使う場所で
_player = photonView.Owner; 代入なり参照なりする
メンドイから宣言と同時に値を入れてるってだけの話
で、このスクリプト「PlayerCntrl」はTriangleプレファブに付けてるのね
これはネットワーク繋がった後に生成されてるからphotonViewが使えるわけだ
173: 弟子 2020/05/11(月)10:12 ID:eNWV+got(3/4) AAS
あぁIsMasterClientの判定にも使ってた
その後のIF文のColor宣言はそのブロック内だけしか使ってないでしょ
174: 167 2020/05/11(月)16:45 ID:8BQlioiF(1) AAS
帰ったらじっくり読ませてもらいます。
175: 弟子 2020/05/11(月)18:35 ID:eNWV+got(4/4) AAS
ぶっちゃけ
Player _player = photonView.Owner;
textName.text = _player.NickName;
if (_player.IsMasterClient) gameObject.name = "Master"; else gameObject.name = "Client";
この部分ってわざわざ変数にしなくても
photonView.Owner.NickNameであったり
photonView.Owner.IsMasterClientを直接使っても大丈夫だと思う
しかし次のは無理なんよ
if (photonView.IsMine)
{
Color _color = srImage.color;
_color.a = 0;
srImage.color = _color;
}
これをsrImage.color.a = 0は出来ない
何故かは聞かんといて(* ̄∇ ̄*)
176(1): 167 2020/05/16(土)14:05 ID:FwgeP7VQ(1/2) AAS
ずっとエラーばかりで辛い。unity立ち上げるのも億劫。みんなどうやってこの気持ち乗り越えて来たんだろうか。
177: 弟子 2020/05/16(土)14:31 ID:5yfA+B1Y(1/5) AAS
そりゃまぁエラーは一個一個潰していくしかないなぁ
自分はエラーなら調べて試してって出来るからまだましだけど
作ってるものを何回もテストしてると飽きてきたりだんだんつまらないと思ってきてモチベが下がる
そんなときはやる気出るまで他のことやる
仕事じゃないし無理してやることもね
178(1): 弟子 2020/05/16(土)19:27 ID:5yfA+B1Y(2/5) AAS
>>176
ちなみにサンプルのは動きましたかな?
179: 167 2020/05/16(土)20:03 ID:FwgeP7VQ(2/2) AAS
>>178
エラーはでませんが再生ボタン押しても三角出てこないですね
180: 弟子 2020/05/16(土)22:04 ID:5yfA+B1Y(3/5) AAS
ジフ画像見ての通りで、2つクライアントを、起動しないと、でません
一つだ、確認するには
カラーの部分的はコメントしてください
181: 弟子 2020/05/16(土)22:07 ID:5yfA+B1Y(4/5) AAS
何をやってるかというと、オンラインでそれぞれの機体を表示してるのだけど
本来なら自分と相手で2つ表示されるのよ
それを自分のは透明にすることで、あたかも1つのオブジェクトを操作しているように見せてるの
アルファ値をいじるとわかります
182: 弟子 2020/05/16(土)22:08 ID:5yfA+B1Y(5/5) AAS
これの元は公式戦のチュートリアルですので
そちらをやるといいかな
ただチュートリアルは3デーなのでそこらは変えてね
183: 167 2020/05/17(日)23:56 ID:J9VQt9RE(1) AAS
外部リンク[html]:doc-api.photonengine.com
ここにあるvoid PhotonView.TransferOwnershipを使って出来ないかと思ってたんです。
まずはじめに入室した順に1,2,3・・・とActorNumberをつけることにしました。
public override void OnJoinedRoom()
{
Room myroom = PhotonNetwork.CurrentRoom;
Photon.Realtime.Player player = PhotonNetwork.LocalPlayer;
photonView.TransferOwnership(player.ActorNumber + 1);
これで次に行けると思ったところで、このままだとActorNumber=2がログインするまで
処理を待たないと行けない事に気づいて、これは渡すボタンを作ってそこに貼り付ける
スクリプトなのか?と思ったところが今日まで。
初心者はスクリプトリファレンスに書かれてあることを試すためには
どういうコードを書いておかないと動かないかが分からない。
184: 弟子 2020/05/18(月)07:08 ID:CvMgWlTy(1/5) AAS
オーナーシップについてはサンプル作る際には使い方がよくわからんかったので権利をRPC でやりとりしたんだけど
次のとこにやり方っぽいの書いてあったからちと試して見ます
外部リンク:doc.photonengine.com
オンラインは特に初心者じゃなくても難しいんだけど、まずは紙にどういう処理の流れになるのかを書き出すと良いかと
185(1): 弟子 2020/05/18(月)13:21 ID:CvMgWlTy(2/5) AAS
とりあえずOnwerShipを使った方法でサンプル作成してみました
外部リンク[zip]:whitecats.dip.jp
パッケージなのでPhotonを取り込んだ後にインポートしてください
前回は2つobject作成したけど今回は一つのみで出来ました
かなり進歩した感じです
ただ、マニュアルに「OnOwnershipRequest()はシーン/ゲーム内で1回のみにする必要があります。」って書いてあるのが気にはなるんだけど
とりあえず何回クリックしても問題は今のところない感じかなぁ・・・
186: 弟子 2020/05/18(月)13:26 ID:CvMgWlTy(3/5) AAS
動きはこんな感じ
画像リンク
今回は一つのみなので、クライアント一つでも表示はされます
テストするには2つ立ち上げないと意味ないけど
ちなみに、片方が破棄されると残った方が自動でマスターになるようですね
これは便利
187: 弟子 2020/05/18(月)13:28 ID:CvMgWlTy(4/5) AAS
考察すると
今回のonwer変更はphotonView.RequestOwnership();で行っているので、上述のは関係ないかもしれない
公式のサンプルから「public void OnOwnershipRequest(object[] viewAndPlayer)」を付けてはいるけど
この関数は呼ばれてないようなので、気にする必要ないかもしれませんね
188(1): 弟子 2020/05/18(月)22:52 ID:CvMgWlTy(5/5) AAS
>>185
パスは前と同じで1234
189(1): 2020/05/23(土)17:30 ID:ELJggPk9(1) AAS
自分で完全オリジナルはきつい。
先人のファミコンやスーファミやPSとかのレトロゲーをコピ…ていうと聞こえ悪いから、オマージュしたような感じで作ったらいいよ。
できるだけ自分の要素とか入れたらいな。
GBAのエレベーターアクションなんてのもいま作り直しても面白いだろう。
あと、UnityのGit(Source Tree)でプロジェクト管理するとき、除外リストってこれでいいんかな?
画像リンク
いろいろイグノアリスト見てくと全部微妙に異なってるから。
190(1): 167 2020/05/23(土)19:50 ID:76mQTDTa(1) AAS
>>188
仕事が立て込んでまして、落着いたら見させていただきます、ありがとうございます。
191: 弟子 2020/05/24(日)10:48 ID:zqUCyho6(1/4) AAS
>>189
git やらんからわからんけど、不具合出てないならそれでいいんでないか
>>190
この時期に忙しいのは良いことまずはリアル優先です
192(1): 弟子 2020/05/24(日)10:50 ID:zqUCyho6(2/4) AAS
ただプログラムって少しでも離れると、あれなんだっけ?ってなるから
5分でも時間あれば、エディタ立ち上げてソース見るだけでもやっとくといいよ
193(1): 2020/05/24(日)20:12 ID:Xv6S3d+G(1) AAS
ユニティー厨が最近湧いてんのかw
あれではプログラムの腕は錆付くだろ
プログラムできんやつが使うツールだな
194: 167 2020/05/24(日)20:40 ID:qz+4cn15(1) AAS
>>192
今自分で書いたコード見返してましたが、まさにそれでした。何をするためにコードを書いてる途中だったか分からなくなってる。
それで作ってもらったサンプルを見るためにpun2インポートしてappidも入れて、packageをインポートしてpc用にビルドしたんですが何も出てこない。
このOwnerLancherとDisCntrlとPlayCntrlを眺めれば分かってくるかもですかね!?
195: 弟子 2020/05/24(日)21:37 ID:zqUCyho6(3/4) AAS
設定値でシーンが規定値になってるかもなので、インポートしたのの中にシーンあるのでそれを設定してね
とりまシーンクリックで見れると思います
196: 弟子 2020/05/24(日)21:39 ID:zqUCyho6(4/4) AAS
>>193
最近じゃなくて、ずっとだよ
しかもここunity スレだから
ってunity スレきて何言ってんのぷぷ
197: 167 2020/05/27(水)20:03 ID:+x6oE8qU(1) AAS
色々忘れてて焦る…もう一回チュートリアルとかやり直します。
上下前次1-新書関写板覧索設栞歴
あと 60 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.024s