[過去ログ] 【3Dゲームエンジン】Unity質問スレッド36 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
452
(1): 2018/06/25(月)18:08 ID:B9XusSRJ(2/2) AAS
Inspector(GUI)とスクリプトで重複する部分はスクリプトの内容が優先される。
それだけのこと。
453: 2018/06/25(月)18:13 ID:IeloQePz(3/8) AAS
>>437
これの意味がわかったわ、てか日本語下手だなぁ
まず最初に
public int a = 10;
void Start () {
print("a:"+a);
}
を実行すると、「a:10」が表示されるで
「public int a = 10;」を 「 public int a = 20;」にして実行する

すると、「a:10」と表示されるわ、これバグじゃね?
って書いてくれればすんなりみんなわかるのに

で、なぜこうなるかというと、public定数なので当然アタッチされているオブジェクトが保存しているから
インスペクタ見ればわかると思うけど、自動でインスペクタに最初の値が保存されていて
それを書き換えてないから、そのまま最初の値が表示されるだけ

それくらい見ればわかるだろ
454: 2018/06/25(月)18:16 ID:+R2Rriiw(1) AAS
>>452
インスペクタビュー優先だろ?
優先というか後書きというか…
455: 2018/06/25(月)18:18 ID:CdBJ6SaM(2/2) AAS
>>449
そもそも、同一ファイル内で値設定する変数をpublicにする必要があるのか。Unityに限らず、普通どこからどんな変更されるかわかったもんじゃないpublicを避けるために色々工夫するだろ。
インスペクターで値を調整するためにpublicもしくはseriarizeにしたなら、コード側書き換えたのにー?なんて状況にはまずならんだろ。publicを気軽に使いすぎなんだよ。グローバル変数なんて他に方法がないか、メリットがリスクを大きく上回る場合しか許されないのよ普通は。
456
(1): 2018/06/25(月)18:19 ID:IeloQePz(4/8) AAS
でだ、じゃこれバグじゃね?
っていうと、そうじゃなくて、コードの初期値を直した場合には
インスペクタのアタッチしているコードの右に歯車のアイコンあるだろ
そこから「Reset」選ぶんだよ
そうすると、最新の値を持ってきてくれるのだ
457: 2018/06/25(月)18:21 ID:iEl4kGoc(1/2) AAS
高卒大国日本らしいわ
458
(1): 2018/06/25(月)18:22 ID:KUXQoQy7(1/2) AAS
こんな低レベルな話を何時まで続けるんだ
ほんと数日前と全く同じ流れじゃねーか
何度も言うけど初級チュートリアルくらいやれよ
チュートリアルの中で実演してるぞ
459: 2018/06/25(月)19:05 ID:nCkLrAC5(1) AAS
質問者じゃなくて頭おかしいマウント君だったか。
さっさと糞コテつけろw
460
(1): 2018/06/25(月)19:40 ID:76RCzFIE(1) AAS
>>458
正直このページ見て最初のインタラクティブチュートリアルはいいとして、その後何したらいいのって感じだけどな。
やればUnityの主要な概念が一通り身につくものあるの?どれなの?って感じだわ。なんか細切れ感というか自分で何必要か何もわからない初心者に取捨選択させるというか。
ちな自分はコースウェアやったけどあんなんでもいいからこれやったらいいのねって分かるやつを置いとけって感じで。
外部リンク:unity3d.com
461: 菩薩@太子 2018/06/25(月)20:23 ID:XPOZeqEj(1) AAS
>>460
汝よ、汝はUnityの主要な概念を一通り身につける必要があると考えるかね?
Unityの入門書を執筆したり専門の講師になったりするのであれば、それは必要だろう。
だが趣味でやる分には、自分の興味のある部分だけ詳しければいいのではないかね?
それ以外の部分は初心者以下でもかまわない。その都度身につければいいことだ。

汝らは我が見守るこのスレで、誉れと思って、それについてよく考えてみなさい。
462
(1): 2018/06/25(月)20:23 ID:KUXQoQy7(2/2) AAS
自分でカリキュラムも組めないとか
大学の授業どうやって選択したんだよ
マジで高卒なのか
463
(1): 2018/06/25(月)20:55 ID:IeloQePz(5/8) AAS
結局>>437はpublicの意味もインスペクタの意義もわかってないまま偉そうに変なやり方講義して消えたか

まぁ恥ずかしくて出てこれないよな普通の日本人ならな
464: 2018/06/25(月)21:01 ID:hF+d1Szw(7/13) AAS
>>463
どこが変なやり方?
Reset押すのは実用的じゃないよ
ひとつの変数変えるたびに他のインスペクタの値も消えてしまうので
そんなことするくらいなら最初からインスペクタで値入れたほうがよくね
465
(1): 2018/06/25(月)21:15 ID:IeloQePz(6/8) AAS
笑た、実用的www
君はpublicとインスペクタの意義について考えてから使いなね
じゃないならprivateにしてstartで初期処理すればいいよ
466: 2018/06/25(月)21:34 ID:hF+d1Szw(8/13) AAS
>>465
答えになってないぞ
publicの変数の初期値をどこでするかって問題だろ
467: 2018/06/25(月)21:37 ID:IeloQePz(7/8) AAS
だから、君はpublic使わない方がいいよ
あぁなんならunity使わない方がいいよ
君には無理
468: 2018/06/25(月)21:38 ID:hF+d1Szw(9/13) AAS
わざわざ呼び出しておいて逃げるなよw
そもそもprivateにしろとか逃げの答えだろ
間違ってるならちゃんと答えてみろや
469
(2): 2018/06/25(月)22:03 ID:hF+d1Szw(10/13) AAS
public int hp=10
インスペクタが優先される仕様上あまりこういう書き方はしないほうがいいですよ
最初からインスペクタで入力するかstart内などで初期値を設定しましょう

これが間違ってるなら反論どうぞ
470: 2018/06/25(月)22:05 ID:OQ4KFpDZ(1) AAS
>>462
だーから主要な概念伝えずに何をどうやって判断すんだよボケ
471: 2018/06/25(月)22:35 ID:Wzw3Rrja(1) AAS
まともに質問したい人はここで

【ゲームエンジン】Unity初心者質問スレBuild1
2chスレ:gamedev
472
(2): 2018/06/25(月)23:09 ID:SLBBsVcr(1) AAS
>>469
おーまだやってんのか。
publicはインスタンス変数でしょ?
スクリプトをオブジェクトにくっつけるんだけど、その時すでにインスタンス化された後の状態で保存されるのよ。
インスペクターはシリアライズされた値をいじるから、優先とかじゃなく、インスタンスの値を設定してんの。
public int hp=10
は新しいオブジェクトにくっつけた時の初期値としてただしいよ。
startで初期値入れるとか、まさかオブジェクト毎にスクリプトファイルをつくるの?
enemy1.cs enemy2.cs.........ememy100.cs
敵キャラが100体いたファイルも100?
473: 2018/06/25(月)23:17 ID:ZEbj8o7C(1) AAS
変数なのに値書き換えられなかったら意味ないだろ・・・
474
(1): 2018/06/25(月)23:19 ID:hF+d1Szw(11/13) AAS
>>472
はい?
なんでstartで設定すると別のスクリプト作る必要があるの?
とんちんかんなこと言ってませんか?
475: 2018/06/25(月)23:24 ID:hF+d1Szw(12/13) AAS
反論する人はちゃんと正しい方向から反論してくださいね
476: 2018/06/25(月)23:25 ID:Wl+r0Sxm(1) AAS
お前らさあ子供かよ
質問じゃねえならよそでやれ
477: 2018/06/25(月)23:29 ID:iEl4kGoc(2/2) AAS
チュートリアルもやらないんだった、せめて初心者スレに行くか専門学校に通えばいいのに
478
(1): 2018/06/25(月)23:44 ID:kH0KOUe+(1/3) AAS
>>474
んじゃHPが10、15、20、25と5づつ増えていくキャラを
10匹作ってみたらいんでね?
479: 2018/06/25(月)23:45 ID:kH0KOUe+(2/3) AAS
HPが5づつ違うキャラを10種類の方が正確か
まぁやってみな
480: 2018/06/25(月)23:46 ID:kEKgPmD2(1) AAS
>>478
質問に質問で答えるなバカクズ
481: 2018/06/25(月)23:47 ID:IeloQePz(8/8) AAS
>>469
>>472さんが書いてるじゃん、理解できない頭なんだから止めたら?
まず、初期値を変数定義で行うのはなんら問題ない
次に、それがpublicであるならオブジェクトにァタッチするとインスタンス化されてインスペクタに表示される、ここで保存される
だから通常はインスペクタの値を変更する事になる
このスクリプトを例えば敵、弱敵等にァタッチした場合、インスペクタの値を変える事でHPの制御ができるが、start関数で初期値を設定したら全て同じになってしまうよ。
はいダメなゲームの完成
1-
あと 521 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.021s