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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
446
(1): 2018/06/25(月)16:23 ID:dLNwq+HP(2/2) AAS
教えてあげたのにまさか絡まれるとはw
Unityエディタで実行したのかVSで実行したのかも実行ファイルで動かしたのも分からないのに判断できるはずがないですよ
相手にしないほうがいいキチガイみたいですね
447: 2018/06/25(月)16:28 ID:hF+d1Szw(5/13) AAS
>>446
いや その返しはおかしいよね
public int a=10;
なんでこれをVSで一行ずつ実行する必要あるの?
448: 2018/06/25(月)17:16 ID:5xqBoZ3i(1) AAS
調べてないので記憶ベースだけど、c#の初期化の順序は
1.基底クラスの初期化
2.初期化子による初期化
3.コンストラクターのなかのInitializeComponentによる初期化(この中でインスペクタ値が設定)
4.コンストラクターのなかのInitializeComponentの後ろに書いた初期化

な気がするので(もう一度いうと調べてないからなw)
2で初期化した内容が3で初期化されてるんじゃ?

なお俺はUnityもやってない模様w
449
(1): 2018/06/25(月)17:42 ID:hF+d1Szw(6/13) AAS
というわけでね 誰も正しい解答をしてないみたいなので答えてあげようと思います
>>390>>392
pubulic int HP=1
Unityではこういう書き方はしないほうがいいようだね
ゲームオブジェクトにアタッチして実行された時点でインスペクタに強制的に値を
入力されてしまうようです
public int HP; void Start(){HP=1;}
スクリプトで書きたい場合はこうしましょう
public変数の場合はnewのタイミングもずらしたほうがいいようです
450: 2018/06/25(月)17:49 ID:B9XusSRJ(1/2) AAS
楽しいわ3DGameKit。
3Dアクションゲーつくーるシリーズのようだ。
いまだUnityスキル低い人は手っ取り早く3Dゲーの作成達成可能。
Prefabのスクリプト除いてもちんぷんかんぷんな人でもひととおりそろってるから改造しながら楽しむとスキルアップできるんかな?
451: 2018/06/25(月)17:56 ID:CdBJ6SaM(1/2) AAS
C#の初期じゃなくてunityの初期化だと何度言ったら。
あくまでスクリプトなんだよ。C#のプログラム書いてるんじゃなくて、C#を使ってUnityのスクリプト組んでんの。
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
反論する人はちゃんと正しい方向から反論してくださいね
1-
あと 527 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.026s