[過去ログ] 【3Dゲームエンジン】Unity質問スレッド36 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
452(1): 名前は開発中のものです。 [] 2018/06/25(月) 18:08:41.58 ID:B9XusSRJ(2/2) AAS
Inspector(GUI)とスクリプトで重複する部分はスクリプトの内容が優先される。
それだけのこと。
453: 名前は開発中のものです。 [sage] 2018/06/25(月) 18:13:46.73 ID:IeloQePz(3/8) AAS
>>437437(3): 名前は開発中のものです。 [sage] 2018/06/25(月) 15:40:55.77 ID:hF+d1Szw(1/13) AAS
public のことといえば最近気づいたけど
一度変数宣言すると値を書き換えても反映されない
たとえば
public int a=10→実行
public int a=20→実行 a=10のまま
こういう仕様なのか?
困るのが配列のとき
public int[] a=new int[2];
public int[] a=new int[3];→反映されない
変数名を一度書き換えるか宣言と同時にnewしないようにしないといけない
これの意味がわかったわ、てか日本語下手だなぁ
まず最初に
public int a = 10;
void Start () {
print("a:"+a);
}
を実行すると、「a:10」が表示されるで
「public int a = 10;」を 「 public int a = 20;」にして実行する
すると、「a:10」と表示されるわ、これバグじゃね?
って書いてくれればすんなりみんなわかるのに
で、なぜこうなるかというと、public定数なので当然アタッチされているオブジェクトが保存しているから
インスペクタ見ればわかると思うけど、自動でインスペクタに最初の値が保存されていて
それを書き換えてないから、そのまま最初の値が表示されるだけ
それくらい見ればわかるだろ
454: 名前は開発中のものです。 [sage] 2018/06/25(月) 18:16:33.61 ID:+R2Rriiw(1) AAS
>>452
インスペクタビュー優先だろ?
優先というか後書きというか…
455: 名前は開発中のものです。 [sage] 2018/06/25(月) 18:18:29.04 ID:CdBJ6SaM(2/2) AAS
>>449449(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 17:42:42.91 ID:hF+d1Szw(6/13) AAS
というわけでね 誰も正しい解答をしてないみたいなので答えてあげようと思います
>>390>>392
pubulic int HP=1
Unityではこういう書き方はしないほうがいいようだね
ゲームオブジェクトにアタッチして実行された時点でインスペクタに強制的に値を
入力されてしまうようです
public int HP; void Start(){HP=1;}
スクリプトで書きたい場合はこうしましょう
public変数の場合はnewのタイミングもずらしたほうがいいようです
そもそも、同一ファイル内で値設定する変数をpublicにする必要があるのか。Unityに限らず、普通どこからどんな変更されるかわかったもんじゃないpublicを避けるために色々工夫するだろ。
インスペクターで値を調整するためにpublicもしくはseriarizeにしたなら、コード側書き換えたのにー?なんて状況にはまずならんだろ。publicを気軽に使いすぎなんだよ。グローバル変数なんて他に方法がないか、メリットがリスクを大きく上回る場合しか許されないのよ普通は。
456(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 18:19:26.40 ID:IeloQePz(4/8) AAS
でだ、じゃこれバグじゃね?
っていうと、そうじゃなくて、コードの初期値を直した場合には
インスペクタのアタッチしているコードの右に歯車のアイコンあるだろ
そこから「Reset」選ぶんだよ
そうすると、最新の値を持ってきてくれるのだ
457: 名前は開発中のものです。 [] 2018/06/25(月) 18:21:02.46 ID:iEl4kGoc(1/2) AAS
高卒大国日本らしいわ
458(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 18:22:45.06 ID:KUXQoQy7(1/2) AAS
こんな低レベルな話を何時まで続けるんだ
ほんと数日前と全く同じ流れじゃねーか
何度も言うけど初級チュートリアルくらいやれよ
チュートリアルの中で実演してるぞ
459: 名前は開発中のものです。 [sage] 2018/06/25(月) 19:05:23.76 ID:nCkLrAC5(1) AAS
質問者じゃなくて頭おかしいマウント君だったか。
さっさと糞コテつけろw
460(1): 名前は開発中のものです。 [] 2018/06/25(月) 19:40:50.56 ID:76RCzFIE(1) AAS
>>458
正直このページ見て最初のインタラクティブチュートリアルはいいとして、その後何したらいいのって感じだけどな。
やればUnityの主要な概念が一通り身につくものあるの?どれなの?って感じだわ。なんか細切れ感というか自分で何必要か何もわからない初心者に取捨選択させるというか。
ちな自分はコースウェアやったけどあんなんでもいいからこれやったらいいのねって分かるやつを置いとけって感じで。
外部リンク:unity3d.com
461: 菩薩@太子 [] 2018/06/25(月) 20:23:01.39 ID:XPOZeqEj(1) AAS
>>460
汝よ、汝はUnityの主要な概念を一通り身につける必要があると考えるかね?
Unityの入門書を執筆したり専門の講師になったりするのであれば、それは必要だろう。
だが趣味でやる分には、自分の興味のある部分だけ詳しければいいのではないかね?
それ以外の部分は初心者以下でもかまわない。その都度身につければいいことだ。
汝らは我が見守るこのスレで、誉れと思って、それについてよく考えてみなさい。
462(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 20:23:14.82 ID:KUXQoQy7(2/2) AAS
自分でカリキュラムも組めないとか
大学の授業どうやって選択したんだよ
マジで高卒なのか
463(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 20:55:35.04 ID:IeloQePz(5/8) AAS
結局>>437はpublicの意味もインスペクタの意義もわかってないまま偉そうに変なやり方講義して消えたか
まぁ恥ずかしくて出てこれないよな普通の日本人ならな
464: 名前は開発中のものです。 [sage] 2018/06/25(月) 21:01:45.32 ID:hF+d1Szw(7/13) AAS
>>463
どこが変なやり方?
Reset押すのは実用的じゃないよ
ひとつの変数変えるたびに他のインスペクタの値も消えてしまうので
そんなことするくらいなら最初からインスペクタで値入れたほうがよくね
465(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 21:15:42.94 ID:IeloQePz(6/8) AAS
笑た、実用的www
君はpublicとインスペクタの意義について考えてから使いなね
じゃないならprivateにしてstartで初期処理すればいいよ
466: 名前は開発中のものです。 [sage] 2018/06/25(月) 21:34:10.86 ID:hF+d1Szw(8/13) AAS
>>465
答えになってないぞ
publicの変数の初期値をどこでするかって問題だろ
467: 名前は開発中のものです。 [sage] 2018/06/25(月) 21:37:28.10 ID:IeloQePz(7/8) AAS
だから、君はpublic使わない方がいいよ
あぁなんならunity使わない方がいいよ
君には無理
468: 名前は開発中のものです。 [sage] 2018/06/25(月) 21:38:49.01 ID:hF+d1Szw(9/13) AAS
わざわざ呼び出しておいて逃げるなよw
そもそもprivateにしろとか逃げの答えだろ
間違ってるならちゃんと答えてみろや
469(2): 名前は開発中のものです。 [sage] 2018/06/25(月) 22:03:26.58 ID:hF+d1Szw(10/13) AAS
public int hp=10
インスペクタが優先される仕様上あまりこういう書き方はしないほうがいいですよ
最初からインスペクタで入力するかstart内などで初期値を設定しましょう
これが間違ってるなら反論どうぞ
470: 名前は開発中のものです。 [] 2018/06/25(月) 22:05:46.12 ID:OQ4KFpDZ(1) AAS
>>462
だーから主要な概念伝えずに何をどうやって判断すんだよボケ
471: 名前は開発中のものです。 [sage] 2018/06/25(月) 22:35:46.79 ID:Wzw3Rrja(1) AAS
まともに質問したい人はここで
【ゲームエンジン】Unity初心者質問スレBuild1
2chスレ:gamedev
472(2): 名前は開発中のものです。 [sage] 2018/06/25(月) 23:09:55.87 ID:SLBBsVcr(1) AAS
>>469
おーまだやってんのか。
publicはインスタンス変数でしょ?
スクリプトをオブジェクトにくっつけるんだけど、その時すでにインスタンス化された後の状態で保存されるのよ。
インスペクターはシリアライズされた値をいじるから、優先とかじゃなく、インスタンスの値を設定してんの。
public int hp=10
は新しいオブジェクトにくっつけた時の初期値としてただしいよ。
startで初期値入れるとか、まさかオブジェクト毎にスクリプトファイルをつくるの?
enemy1.cs enemy2.cs.........ememy100.cs
敵キャラが100体いたファイルも100?
473: 名前は開発中のものです。 [sage] 2018/06/25(月) 23:17:58.49 ID:ZEbj8o7C(1) AAS
変数なのに値書き換えられなかったら意味ないだろ・・・
474(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 23:19:30.41 ID:hF+d1Szw(11/13) AAS
>>472
はい?
なんでstartで設定すると別のスクリプト作る必要があるの?
とんちんかんなこと言ってませんか?
475: 名前は開発中のものです。 [sage] 2018/06/25(月) 23:24:13.00 ID:hF+d1Szw(12/13) AAS
反論する人はちゃんと正しい方向から反論してくださいね
476: 名前は開発中のものです。 [sage] 2018/06/25(月) 23:25:21.15 ID:Wl+r0Sxm(1) AAS
お前らさあ子供かよ
質問じゃねえならよそでやれ
上下前次1-新書関写板覧索設栞歴
あと 526 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s