unityでゲーム作りたい(Help!)

1師走
垢版 |
2018/03/16(金) 03:11:03.39ID:plFaZdHA
unityでゲーム作りたい
お願いします 
256くまじょ
垢版 |
2020/04/29(水) 05:53:30.84ID:JSWzrUs2
unity 2D

管理用のEmptyのGameObjectスクリプト[ExecuteInEditMode]で
シーン編集中に上(Yが大きい値)にあるキャラクタが
下にいるキャラクタの背後になるように
それぞれのキャラクタを変えた
この操作はキャラクタのオーダーinレイヤーを変更することになる

でもセーブ対象になっていなくてシーン開くとメンバ変数が古い値のまま
うわああ
どうしようか
インスペクタに出るようにpublicメンバ変数にしてたけどやめて
キャラクタのスクリプト[ExecuteInEditMode]で
常時Y座標で更新するようにすべきなのかなあ

それともやり方が悪いのかなあ
257くまじょ
垢版 |
2020/04/29(水) 06:36:46.61ID:2WIq4ayc
>>256
いろいろ変更したから一時的であって再起動で直っていて欲しい
キャラクタは複数のスプライトなどで構成されるemptyなので直接オーダーは操作してない
258くまじょ
垢版 |
2020/04/29(水) 10:47:09.90ID:2WIq4ayc
今は移動中でunityいじれない

検索してたらエディタ拡張の話で見つけたEditorUtility.SetDirtyで解決できるのかなあ
スクリプト[ExecuteInEditMode]の場合でも通用するのかわからない

◆キャラクタの1/2単位の座標でしか配置できない
◆キャラクタの一部が他のキャラクタと重なる表示になるとき重なり順が正しくなるようにしたいけどキャラクタが複数のgoで構成されてるからメンバ変数をいじる
◆同じ座標にキャラクタの配置を検出

などしてるのだがエディタ拡張ってのでやった方がいいのだろうか
エディタ拡張ってのがどんなものなのかまだわからない
259くまじょ
垢版 |
2020/04/29(水) 11:58:54.76ID:JSWzrUs2
>>258
解決した
260くまじょ
垢版 |
2020/04/29(水) 20:28:48.24ID:JSWzrUs2
unityにアタッチしてデバッグ実行できなくなった
ファイルアクセスでメモリioが競合してスレッドセーフではないとか言ってくる
[ExecuteInEditMode]があるから?
261くまじょ
垢版 |
2020/04/29(水) 20:58:27.16ID:JSWzrUs2
structもclassみたいにnewしないと使えないのか?

Vector3Int a
a.x = 0;
こういうことすると警告が出る。
262くまじょ
垢版 |
2020/04/29(水) 21:39:33.93ID:JSWzrUs2
#if UNITY_EDITOR
これって
[ExecuteInEditMode]を付けたスクリプトでシーンビュー編集中に有効で
エディターにある再生ボタンのやつで実行したときも有効なのか
勘違いしてた
263くまじょ
垢版 |
2020/04/30(木) 12:17:03.48ID:ZUZw6prb
カード(トランプ)とかググったら
絵柄を示すスプライトの配列をインスペクタで設定してた

リソースをロードするより良さそう
プレハブにしてインスタンスしたあと、どの絵を使うか指定する方式

カードはたくさんあるわけでスプライトの配列をインスタンス変数にする必要があるのか
staticメンバ変数でいいか?
シングルトンに持たせるか?
だがインスペクタで見たり変更できる魅力は捨てられないし
リソースをロードするくらいしか別の方法を知らん

雑談でした
264くまじょ
垢版 |
2020/04/30(木) 17:12:39.03ID:zm8AeAWY
シーンにあるスクリプトをプレハブに設定できない

まあ当たり前だよな
シーン1を開いてるときは
prefab..a = シーン1のスクリプト;
シーン2を開いてるときは
prefab..a = シーン2のスクリプト;
ってしないといけないわけで

staticメンバ変数 = this;
ってやって
つまりグローバル変数みたいな使い方で解決とする

シングルトンにはしないけど
シングルトンの作り方に似てるな
265弟子
垢版 |
2020/04/30(木) 17:26:08.47ID:gLTf3FZ4
シーンにあるスクリプトというのが、よくわからない
日記なのか質問なのかもわからないからどういえばいいか

とりあえず、Prefabに別のスクリプト付けたいならAddComponentで行けるよ
266弟子
垢版 |
2020/04/30(木) 17:27:19.58ID:gLTf3FZ4
ちなみに、シーンにあるのは、すべてGameObjectであって
スクリプトはそれらにアタッチしているコンポーネントね
267くまじょ
垢版 |
2020/04/30(木) 18:08:44.75ID:zm8AeAWY
なんて俺はのんびりやすみやすみで作業が進まないんだ
なんか急におなかが痛くなってきたので休憩
268弟子
垢版 |
2020/04/30(木) 21:35:52.52ID:gLTf3FZ4
のんびり休み休み
えっそんなの当たり前でしょ
Unityの機能の多さ考えたら一人で理解するには1年じゃたりない
2Dも3Dも技術はやる事沢山ある

そんな簡単に出来ると思ったのかなぁ?

自分はこれだけの機能なので1からじっくりと3年くらいかけて2D学ぼうとしてます
まだまだ分からない事沢山あるよ

でも検証しながら実際に分かった事を上げてる
そうじゃないとプログラムは意味ない
269くまじょ
垢版 |
2020/05/01(金) 05:00:55.68ID:kcg9yXUN
配列の検索ってなんでメンバではないんだろう

using System;

Array.IndexOf(array, data);

そしたら
RandomがUnityEngine.RandomなのかSystem.Randomか曖昧って言われた
ああああプログラミングってめんどくさい
なにかいい方法があるかもしれないと期待してぐぐってみるか
270くまじょ
垢版 |
2020/05/01(金) 05:06:43.12ID:kcg9yXUN
>>269
なさそうだ
適当に妥協しよう
271弟子
垢版 |
2020/05/01(金) 06:36:18.40ID:tdTzyEuZ
using random=unity engine .random;

これ自動補完ででてくるやろ?
272くまじょ
垢版 |
2020/05/01(金) 13:47:14.96ID:kcg9yXUN
クリックの当たり判定面倒だなあ
RaycastHit2Dが返される

キャラクタは複数のスプライトで構成されているから
RaycastHit2Dから欲しいスクリプトをたどらないといけないのか
2020/05/01(金) 14:28:34.54ID:HDQv7mtm
あ…まいいや。
274くまじょ
垢版 |
2020/05/01(金) 14:36:24.68ID:kcg9yXUN
>>265
インスペクタが便利でほかのこと忘れてた
Start()でtransform.Find("Foo").GetComponent<Bar>()
でもいいんだよな
だがやはりインスペクタは便利だな
275くまじょ
垢版 |
2020/05/01(金) 16:52:02.84ID:kcg9yXUN
キャラクタの大きさ 0.5 単位になるように
キャラクタの座標を修正するなどなど
[ExecuteInEditMode]でいろいろ修正するスクリプトにしたんだけど
ビルドすると
Undo.RecordObject
EditorUtility.SetDirty
がエラーになるんだね
※報告
276くまじょ
垢版 |
2020/05/01(金) 19:16:59.95ID:kcg9yXUN
ビルドでエラーがでた
自分の書いたスクリプトではなく
unityエンジンの何かが出してる
困った
277くまじょ
垢版 |
2020/05/01(金) 19:36:44.81ID:kcg9yXUN
はまった
278くまじょ
垢版 |
2020/05/01(金) 20:06:31.82ID:kcg9yXUN
Unityにアタッチなどでデバッグしようとすると
出力ファイルの書き込み中にエラーが発生しました
でビルドが失敗する
困った
279くまじょ
垢版 |
2020/05/01(金) 20:37:28.94ID:kcg9yXUN
WebGLのビルドで
System.BadImageFormatException
ログにすごい長い書き込み

まだハマってる
280くまじょ
垢版 |
2020/05/01(金) 23:30:51.33ID:kcg9yXUN
いろいろ削ってビルドしているが
WebGLのビルドが解決しない
281くまじょ
垢版 |
2020/05/01(金) 23:33:30.23ID:kcg9yXUN
この前あったwindows updateでも関係あるのかなあ
282くまじょ
垢版 |
2020/05/01(金) 23:38:29.60ID:kcg9yXUN
過去にビルドできてたプロジェクトもエラーになるようになってた
この前のwindows updateでDLLとかに互換性がなくなったのかな
283弟子
垢版 |
2020/05/02(土) 00:03:33.34ID:8M92mDtb
何もない空のプロジェクトでもなるなら
それもあるかも

まっさらで行くなら他の要因
284くまじょ
垢版 |
2020/05/02(土) 00:35:58.97ID:QCz4OtPk
だめだ
新しいプロジェクトでもエラー
unityの別バージョンもエラー
285弟子
垢版 |
2020/05/02(土) 00:46:51.35ID:8M92mDtb
> System.BadImageFormatExceptio
これの対応があったけどどうだろか
もう遅いので寝ますが明日自分も確認してみたいかな

https://blog.yuizi.com/2012/10/badimageformatexception.html
286弟子
垢版 |
2020/05/02(土) 00:49:50.83ID:8M92mDtb
こっちのほうが最近のかな
https://www.google.com/amp/s/mokumokucsharp.hateblo.jp/entry/2017/05/26/122901%3famp=1
287弟子
垢版 |
2020/05/02(土) 10:00:13.74ID:8M92mDtb
おはよございます

参りました、自分の環境でもWebGLのビルド出来ず
InvaridBuildぱthエラー

まいった、これじゃ1Weekだせねえええ

よっし今日はこれと格闘じゃあああ
288弟子
垢版 |
2020/05/02(土) 10:10:29.70ID:8M92mDtb
と思いきや、このエラーはプロジェクト以下でBuildするとなるのか
て事で別フォルダにして現在コンパイル中
ちな 弟子の環境は
2019.3.5f1
Windows10ほめ 1903

うん、とりま通ったなぁ
settingのApi…Levelを.NET2.0 でも 4.xでもいった

でも出来たIndexをクリックしてもブラウザがサポートしてねええええってなる
まいった
289弟子
垢版 |
2020/05/02(土) 10:19:44.07ID:8M92mDtb
ブラウザはFireFoxだと起動できた
とりあえず弟子のでは大丈夫そうでした
まっさらなプロジェクト
Canvasと文字
スプライトをランダムで生成、移動するプエロジェクト
どちらも問題なく・・・
290弟子
垢版 |
2020/05/02(土) 11:54:28.20ID:8M92mDtb
こんなのもあった
https://answers.unity.com/questions/1453735/unityeditorbuildplayerwindowbuildmethodexception-2.html

JDK をダウングレードとかなんとか
291くまじょ
垢版 |
2020/05/02(土) 13:06:38.83ID:QCz4OtPk
ビルでできないので
プログラムの方進めていた

当たり判定をググって
Physics2D.Raycast
で実装したんだけど重なっている場合に対応できなかった

すぐには解決しそうにないからしばらくの間は
WebGLはあきらめることになるかな
292弟子
垢版 |
2020/05/02(土) 13:11:28.58ID:8M92mDtb
重なりは深さ取得みたいなのでやるんだけど

Windowsのアップデートが原因ならWindows復元でアップデート前に戻すとか?
293くまじょ
垢版 |
2020/05/02(土) 13:56:04.99ID:QCz4OtPk
ビルドできた
294弟子
垢版 |
2020/05/02(土) 14:36:34.68ID:8M92mDtb
どこ情報で解決?
今後の参考までに見ておきたい
295くまじょ
垢版 |
2020/05/02(土) 15:16:14.54ID:QCz4OtPk
いろいろググってみたけど解決せず

俺も設定見たんだけど.NET2.0でも4でも結果変わらず
別バージョンのunityをインストールしたが再現する
過去に作った作品でも再現する
新規の空プロジェクトでも再現する
別バージョンのunityと組み合わせても結果変わらず

確実な情報でもないしセキュリティとか問題あるかもしれない古い状態に戻すのは抵抗あるし
そもそもwindows updateは時間かかるし変なトラブル起きそうだしやりたくないなあ

JDKは今アンドロイドのビルドではないから関係ないな

windows update関連くらいしかもう怪しいものないなあ
見てたら.NETのKBがある
特定の.NETのアップデートで起こる現象なのかなあ
この前のwindows updateで最新の.NETになったわけじゃなかったんだー
ほかに試せそうなことないし.NETの更新、再起動
ビルドできた
296弟子
垢版 |
2020/05/02(土) 15:28:36.68ID:8M92mDtb
なるほど
参考になります
297くまじょ
垢版 |
2020/05/02(土) 20:45:09.58ID:QCz4OtPk
日記

エディターでシーンの編集中に
まちがってキャラクタの親GameObjectではなく
構成要素の子オブジェクトを移動してしまった時の対策として

[ExecuteInEditMode]で
自分の子オブジェクトが定位置ではなかったら
自分GameObjectをつじつまが合う位置に移動し
子オブジェクトを定位置に戻す
これであたかも最初から自分GameObjectを移動させたかのような結果になる

というのを画策したわけだが
GameObjectはばらばらに散らばった
子オブジェクトを定位置に戻らずわけわからん位置に

そんなキャラクタがたくさんあるからとんでもない位置に

しくじった
しかもundoがきかない
座標はなぜかEditorUtility.SetDirtyを実行しなくてもセーブ対象になってしまうのが
楽だなあと思っていたがあだとなる

大量のキャラクタがごちゃごちゃに散らばった
覆水盆に返らすもっと散らばるばかり
再チャレンジは危険だなあ
298くまじょ
垢版 |
2020/05/03(日) 04:53:09.00ID:EfQj3HFK
[ExecuteInEditMode]のクラスA
いろいろスクリプトいじっている

そこから別のオブジェクトBにアクセスしている

ときどきリセットされるらしくオブジェクトBのメンバがnullになっている
すぐにインスペクタの値が設定されるらしいが
nullになっている間にクラスAのUpdate()などが呼ばれる

クラスBのスクリプトはいじってなくても

こんなことになるなんて

SendMessage cannot be called during Awake, CheckConsistency, or OnValidate
というログが出た
unityの方がAwake実行中に呼び出しているということなのか
どうしましょう
上手く回避してごまかさないといけないのかな
299desi
垢版 |
2020/05/03(日) 21:22:44.40ID:L/sk9kZG
https://light11.hatenadiary.com/entry/2019/05/05/233448
ここ見ると廃止に向かうってかいてあるので
特に使わない方向がいいかなぁと
300くまじょ
垢版 |
2020/05/03(日) 21:53:42.29ID:EfQj3HFK
UIを別シーンにして
複数同時にシーンを使うようにしているが
ロードアンロード関係がわからんなあ
301くまじょ
垢版 |
2020/05/03(日) 22:10:56.59ID:EfQj3HFK
シーンUIとシーンAを使用中に
シーンTitleへ移行するのはどうするんだ?

SceneManager.LoadScene("Title");
ではシーンAは消えたけど
シーンUIが残った

unityエディタ上での動作確認
302弟子
垢版 |
2020/05/03(日) 22:58:13.19ID:L/sk9kZG
Load scene の第二引数にモードがあってそれによって動くは変わるけど

それとは違うのかなぁ
303くまじょ
垢版 |
2020/05/03(日) 23:35:41.70ID:EfQj3HFK
あ、わかった
ミスってた
304くまじょ
垢版 |
2020/05/03(日) 23:39:02.04ID:EfQj3HFK
いろいろオブジェクトを参照するから
AにはBが必要
BにはCが必要
CにはDが必要
みたいな感じつながりすぎて切り離せなくなってた
うっかりしてた
305くまじょ
垢版 |
2020/05/04(月) 07:05:19.21ID:AIvgNpPa
[ExecuteAlways]のときStart()が呼ばれてないなあ
Awake()のログは出たけど
Start()のログが出ない
エディタ上からの実行でも呼ばれていない

他のオブジェクトにアクセスするからAwake()ではなくStart()で処理したい
Awake()だと他のオブジェクトが準備できてないから支障ある
初期化フラグでStart()が実行されていなかったらUpdate()内からStart()を実行するとかしないといけないのかなあ
あるいは何か間違えているか代わりのコールバックがあるのか、わからん
306弟子
垢版 |
2020/05/04(月) 07:28:35.41ID:wBdWYSdW
説明のとこにあるサンプルは動かんの?


void Start() { if(Application.IsPlaying(gameObject)) { //再生ロジック } そうしないと { // エディターロジック } }
307くまじょ
垢版 |
2020/05/04(月) 07:33:47.01ID:AIvgNpPa
[ExecuteAlways]のオブジェクトでは
先にインスペクタによる値の設定でOnValidate()が呼ばれる
ここで別オブジェクトを使いたいがエラー
Awake()が呼ばれ
Start()が呼ばれない

同じログがいっぱい出て正確な順番はわからず推測あり

使いたい別オブジェクトのAwake()がようやく呼ばれる

[ExecuteAlways]のオブジェクトで
Awake()やOnValidate()では何もせず
Update()でAwake()やOnValidate()と同じことをすればいいのかな

だが納得いかない
[ExecuteAlways]ではないときとはかなり違う挙動
必ず先に別オブジェクトを実行する方法ないのかなあ
2018.4.22f1
308くまじょ
垢版 |
2020/05/04(月) 07:59:56.56ID:AIvgNpPa
わざわざOnValidate()を使うようにしたのに
インスペクタで値をいじるとログに
SendMessage cannot be called during Awake, CheckConsistency, or OnValidate
がそのたびにでる
損した気分
309くまじょ
垢版 |
2020/05/04(月) 08:17:53.09ID:AIvgNpPa
エディターからplayしたときはStart()が呼ばれない
そこから別のSceneManager.LoadScene()した中のはStart()が呼ばれた
310弟子
垢版 |
2020/05/04(月) 10:44:46.46ID:wBdWYSdW
サンプルやってみたけど、動いたよ
https://i.gyazo.com/c7624267d3cb55616507dbc92adbf5af.png
動くタイミングがあるようだけどね
ステージに置いたら動いた
311弟子
垢版 |
2020/05/04(月) 10:45:25.09ID:wBdWYSdW
あぁヴァージョンは
2019.2.5f1だけど特に問題ないとおもう
312弟子
垢版 |
2020/05/04(月) 10:50:36.07ID:wBdWYSdW
>エディターからplay
考察すると「ExecuteAlways」これらのタグは常に動いているからPlay関係ないと思う
常にバッグクランドで起動しているための物だからまぁEditor拡張に使えるわけで
という事は、Startのタイミングがいつになるのか?
ということかなぁ
313くまじょ
垢版 |
2020/05/04(月) 16:29:13.05ID:AIvgNpPa
苦労しまくりだから楽な実装の方にもどすことにしよう
こりごりや
314くまじょ
垢版 |
2020/05/04(月) 16:32:22.31ID:AIvgNpPa
上海
まだ開発途中
http://kmajo.starfree.jp/shanghaipon/
315弟子
垢版 |
2020/05/04(月) 21:56:04.52ID:wBdWYSdW
アイドル詳しくないんやが
どこ坂?
316くまじょ
垢版 |
2020/05/05(火) 11:47:39.69ID:daGRLUGG
つまんないからアイドルなんて気にしない方がいいよ

このまま続けるか
ポンジャンを始めるか
まだシューティンとか玉を発射するものなど
知らないことだらけ
317くまじょ
垢版 |
2020/05/05(火) 12:00:47.89ID:daGRLUGG
UIのパネルが表示されているとき
パネルの背後の牌をクリックできてしまうのね
今回は別に困らないけど
面倒だなあ
318弟子
垢版 |
2020/05/05(火) 12:39:16.48ID:4ErPxiqa
えっ?普通出来ないと思うの
というか自分はゲーム終了でクリックされないように透明パネルだしてるのよくやるけど
何か設定じゃないのかな
319くまじょ
垢版 |
2020/05/05(火) 13:32:57.87ID:daGRLUGG
牌は2D用のレイを飛ばすっていうやつでやってる

後から重なる牌に対応できないと知ったり
問題点小出しにされてしまう

UI専用シーンにしたけど
実行時にカメラを一台にした方がいいのかなあ
でもあとから追加ロードする別シーンのキャンバスのカメラはnullでいいの?
イベントシステムは一つあればいいのでUI専用シーンには最初から無い
320くまじょ
垢版 |
2020/05/05(火) 16:41:17.64ID:daGRLUGG
以下でググったら
FindGameObjectsWithTag 非アクティブ

FindGameObjectsWithTagのことが書いていない
Findの話のページがヒットするなど
欲しい情報が得られない
関係しているように思わせて別の話ばかり
321くまじょ
垢版 |
2020/05/05(火) 16:50:52.83ID:daGRLUGG
>>320
非アクティブに切り替えるのではなくてレイヤーで代用してみるか
上手くいくか知らんけど
322弟子
垢版 |
2020/05/05(火) 21:39:28.94ID:4ErPxiqa
>>319
自分はカメラ削除してるけど
必要ないっしょ
323くまじょ
垢版 |
2020/05/06(水) 22:47:04.70ID:Z0j9SYEG
上海の生成処理に問題があったがもう休みは終わり
今のところ問題が実際に起きたことはないけど
324くまじょ
垢版 |
2020/05/06(水) 23:54:07.92ID:Z0j9SYEG
問題起きた

ある意見で最後にタップした場所に
リトライのボタンが出て
リトライすることになったという

ボタンダウンで牌のコリジョンにレイを飛ばす方法で実装してたけど
UIプッシュボタンみたいにそのオブジェクト内でボタンダウンとボタンアップがあったらクリックされたと見なすように作った方がいいのかな
どう作ればいいんだろう
325くまじょ
垢版 |
2020/05/09(土) 02:27:21.88ID:xHdtBMXq
カメラを一つにしようと
refCanvas.worldCamera = foo.refCamera;
Destroy(refCamera.gameObject);

エディタからプレイしたらunityエディタが落ちた
何も警告とか出ず消えた
326くまじょ
垢版 |
2020/05/09(土) 02:31:35.74ID:xHdtBMXq
やべえコメントアウトしたのに落ちるようになった
別の理由なのかなあ
327くまじょ
垢版 |
2020/05/09(土) 02:46:09.22ID:xHdtBMXq
unity起動してプロジェクト開くと
なんかtempの警告出たなRetoryして
プロジェクト起動したらログに
Curl error 51: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_EXPIRED
というのが出た

再発するので作業できない
アセットにしてプロジェクト作り直した
328弟子
垢版 |
2020/05/09(土) 09:15:32.75ID:SCUmhn87
そのエラーのこと総合スレに情報あるね
329くまじょ
垢版 |
2020/05/09(土) 16:21:31.36ID:rVpiR8n+
アセットにエクスポートして新プロジェクトでインポートしたが
画面サイズやレイヤー名など設定は入力しなおしなのね
レイヤーって名前使えるけど番号なのね

ビルドできなくなるとか突如落ちるとか心臓に悪い血の気が引く
330くまじょ
垢版 |
2020/05/09(土) 16:31:08.75ID:rVpiR8n+
コルーチンが便利そうだな
Updateメソッドでたくさんのフラグで分岐するの避けられるかな
331くまじょ
垢版 |
2020/05/09(土) 19:34:48.75ID:xHdtBMXq
>>325, 326
再現しなくなった
わざわざ
>>327
プロジェクト作り直したのになあ
332くまじょ
垢版 |
2020/05/10(日) 13:05:41.67ID:xnh23sLS
http://kmajo.starfree.jp/haropshan/

右下の青いのをクリックすると最大化する
もとは640x640のサイズだが
このときフルスクリーンにあわせて横長になるのってどうにかならんのかなあ

優先度は低い
333弟子 ◆rZPPjYuxmQ
垢版 |
2020/05/12(火) 19:30:14.44ID:L4ZTxgoY
クリックの件、手っ取り早い方法
using UnityEngine.EventSystems;
public class ClickCntrl : MonoBehaviour
{
void Update()
{
if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonUp(0))
{
if (EventSystem.current.IsPointerOverGameObject())
{
return;
}
}
if (Input.GetMouseButtonDown(0))
{
print("down");
}
if (Input.GetMouseButtonUp(0))
{
print("up");
}
}
334弟子
垢版 |
2020/05/12(火) 19:31:32.94ID:L4ZTxgoY
IsPointerOverGameObject はUIかどうかの判定みたいなのでUIでクリックしたら無視でける


他に要件あればつかえんかもしれ・・・
335くまじょ
垢版 |
2020/05/12(火) 19:56:29.94ID:BsMD4e4s
>>334
ありがとう
336帝王
垢版 |
2020/05/13(水) 18:07:50.12ID:HjKhPclg
>>334
もしかしてボタンを押されたらbool値を返すようなメソッドって
UI関係にあります?
337弟子
垢版 |
2020/05/13(水) 21:10:50.48ID:oin7oldA
すまん意味不明なんだが
何のBool値が欲しいのです?
ボタン押してもそこにスクリプト付けてないと何も動きません
338帝王
垢版 |
2020/05/13(水) 21:18:21.58ID:HjKhPclg
えーと
ボタンを調べたら

いろいろ制限があるらしくて
Button.onClicked == true みたいなboolのものはないということで
onclickするメソッドもpublic voidにしなきゃいけないらしいし
戻り値を指定できないし
あとボタンに引数も付けられるものが限られるので
インスペクタ上で引数1は持てるけど
string型とかだけならできるけどという感じで
調べてもよくわかんなかった
意外とボタンって制限多いんだなと
339弟子
垢版 |
2020/05/13(水) 21:54:43.10ID:oin7oldA
引数色々指定できますよ
何をしたいか具体例にいってくれないとわからんよ
340帝王
垢版 |
2020/05/13(水) 22:15:52.82ID:HjKhPclg
>>339
そうですか
すみません
調べ足りてないのかな
341弟子
垢版 |
2020/05/13(水) 22:19:42.85ID:oin7oldA
多分調べても欲しい情報は出て来ないのよ
ブログとかアフォな情報しかないから

やりたいことを具体的に書いてくれれば弟子が試してコード載せますよ

プログラムやる上で重量なことは何をどうしたいか具体的な事ね
342弟子
垢版 |
2020/05/13(水) 22:22:18.52ID:oin7oldA
あ、でももう弟子は飲んで酔ってるから
試すのは明日になるからねっ
343帝王
垢版 |
2020/05/13(水) 22:38:48.89ID:HjKhPclg
いや物自体は完成してるのよ
ただぼたんで2,3日つまったから
IsPointerOverGameObjectとかそういうのでtrue falseを持てれば
複数の中から目的のものをボタンで3,4つの引数持たせて実行できれば
あとwait処理も入れたいので
waitしながらボタン処理を待ってそのあと目的のものを処理したら
waitを中止するというのを作ろう
と思ったら目的のものがnullだったことに気づいて
ステップ実行で何とかなったんだけど
ボタンの処理がどうしてもスクリプトから独立していて
うまく繋げられなかったんだ
344くまじょ
垢版 |
2020/05/14(木) 05:33:19.73ID:6hw1sJEU
ScriptPai pai = Instantiate(prefabPai).GetComponent<ScriptPai>();
Destroy(pai.gameObject);
として実際見た目も消えているのに
GameObject.FindGameObjectsWithTag("Pai");
で消したはずのも検出してしまう

Destroy(pai.gameObject);を実行前にタグ名を変えておくことでごまかすけど
345くまじょ
垢版 |
2020/05/14(木) 05:39:48.42ID:6hw1sJEU
>>344
[ExecuteAlways]が悪さしてるのかなあ
変更が多くてなくせないから検証してない
346弟子
垢版 |
2020/05/14(木) 06:49:17.17ID:1K896jy3
>>344
それ実行したらヒエラルキーにゲームオブジェクト出来てるとおもうけどどうでしょ

まずスクリプト型オブジェクトの取得にinstantiate の帰り値指定してるけど、そもそもinstantiate はゲームオブジェクトを生成する命令
そのためスクリプトオブジェクトを破棄してもinstantiate で生成されたオブジェクトは破棄してないから残ってると推測
複雑にしないで順序だててやればいいかと
347くまじょ
垢版 |
2020/05/14(木) 08:33:04.63ID:LxPnkdhJ
>>346
それが消えてるのに数が合わない
348くまじょ
垢版 |
2020/05/14(木) 08:37:03.99ID:LxPnkdhJ
時間があるときにでも確認してみる
複数シーンを使用している
349くまじょ
垢版 |
2020/05/14(木) 20:17:51.51ID:6hw1sJEU
GameObject[] goPais;

goPais = GameObject.FindGameObjectsWithTag("Pai");
if(goPais.Length != 0)
{
Debug.Log("★-1- おかしな現象が起きてるぞ goPais.Length=" + goPais.Length);
}

ScriptPai pai = MakePai(0, 0, 0);

goPais = GameObject.FindGameObjectsWithTag("Pai");
if (goPais.Length != 1)
{
Debug.Log("★-2- おかしな現象が起きてるぞ goPais.Length=" + goPais.Length);
}

//pai.tag = "Player"; // このあとDestroyしてるのにGameObject.FindGameObjectsWithTag("Pai");で見つけてしまう

Destroy(pai.gameObject);

goPais = GameObject.FindGameObjectsWithTag("Pai");
if (goPais.Length != 0)
{
Debug.Log("★-3- おかしな現象が起きてるぞ goPais.Length="+ goPais.Length);
}
350くまじょ
垢版 |
2020/05/14(木) 20:21:02.68ID:6hw1sJEU
>>349
★-3- おかしな現象が起きてるぞ
が表示された

つまり
Destroyしたのに
GameObject.FindGameObjectsWithTagが見つけてしまう

このあと、
goPais = GameObject.FindGameObjectsWithTag("Pai");
goPais[0]になにかすると
すでにdestroyされているのでエラーになる
351くまじょ
垢版 |
2020/05/14(木) 20:25:05.66ID:6hw1sJEU
>>349
GameObject.Destroyを使った方がいいのか?
352くまじょ
垢版 |
2020/05/14(木) 20:30:13.80ID:6hw1sJEU
>>344-350

この質問を解決とします
どうやらこういう動作をするものらしい
Destroy(pai.gameObject);で即死はしていないので注意ってことだ
2020/05/14(木) 20:40:16.76ID:1t2wFzuc
うん、おめでとう
354くまじょ
垢版 |
2020/05/14(木) 20:51:02.09ID:6hw1sJEU
>>350
訂正

Destroy() した直後は生きているから
m_goPais = GameObject.FindGameObjectsWithTagが見つけてしまう

直後ではなくて後で
m_goPais[0]に何かするとすでにdestroyされているのでエラーになる
355弟子
垢版 |
2020/05/14(木) 21:24:59.11ID:1K896jy3
まったくわからんのだが
>>349のソースには
m_goPais  がないんだけど、>>354で突如でてきて、に
m_goPaisに何かするとすでに ってさ
もうね、全部情報だしなよ

そんな自分しか知らない情報でここに書かれても、何したいの?
混乱させたんだね くらいしか思えないわ

プログラム作るならも少し仕様を決めて作ろ
356名前は開発中のものです。
垢版 |
2020/05/14(木) 21:27:24.75ID:1K896jy3
くまじょさんは、自分はおっちょこちょいでよくからんけど、Unityで偽情報流したいって自己紹介してる感じかな?
もちっと簡潔にしてシンプルなコードで試せばいいと思うけど
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況