[過去ログ]
【3Dゲームエンジン】Unity質問スレッド23 [無断転載禁止]©2ch.net (1002レス)
【3Dゲームエンジン】Unity質問スレッド23 [無断転載禁止]©2ch.net http://echo.5ch.net/test/read.cgi/gamedev/1457424481/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
247: 名前は開発中のものです。 [sage] 2016/04/04(月) 01:49:57.65 ID:7ElMLh3h テラシュールさんみたいな超絶親切記事であっても通じないとはw そこにある方法を試しても出来ないなどということはありえない。 君が書いているコード、その他やり方がおかしいだけ そもそも言語を理解できていればDontDestroyOnLoadの引数に intをぶち込むなどということも考え付かない http://docs.unity3d.com/ja/current/ScriptReference/Object.DontDestroyOnLoad.html 君は全く言語を理解できていないし残念なことだが Untiyは見かけに反して言語を出来ない人間が使うには厳しいツールだ Unityをやる前にちゃんと言語の勉強をした方がよいよ http://echo.5ch.net/test/read.cgi/gamedev/1457424481/247
269: 名前は開発中のものです。 [sage] 2016/04/04(月) 14:18:24.51 ID:7ElMLh3h >>250 それはコードが間違っているのではなくやり方が間違っている。 DontDestroyOnLoad only work for root GameObjects or components on root GameObjects "DontDestroyOnLoadはルートのゲームオブジェクトまたはルートのゲームオブジェクト上のコンポーネント上でのみ機能します" ここでルート、というのは他のオブジェクトの子供ではない、ということ。 Unityでは親オブジェクトがDestroyされるとその子供のオブジェクトもDestroyされる。 まぁ全部を一々指定しないとDestroyされないのではメンドクサ過ぎるのは明白なので 妥当な設計だと思うしだからDontDestroyOnLoadはそのオブジェクトがぶら下がっている一番上の親オブジェクトに対して行わなければならない、ということになっている。 それを取得する方法はプログラムで一番上を辿ってもいいし名前でFindしてもいいしpublicにしておいてインスペクター上でD&Dして指定しておいてもいい。 あともう一ついえばそこではscoreという変数をstaticで宣言している。 だからDontDestroyOnLoadはそもそも行う必要はない。 何もせずに、というよりも「何もしなければ」そのまま次の面までscoreの値は引き継がれる。 staticというのはあるメモリのアドレスが固定的に使われるものだ。 10番地にscoreの値が書き込まれていてそれはゲームが起動してから終了するまで変わらない。 だからそのクラスが破棄されて、また構築されてもscoreという変数の中身はずっと10番地に書かれている。 もっといえばそのクラスが破棄されて再構築されていなくても10番地の中身はそのままだ。 だからpublicなら他のオブジェクトからScoreScript.scoreと指定すればその値は見ることが出来る 逆にゲームが終了した時、或いは新しくゲームが開始された時、など適切な場面でscoreの値をリセットしなければいつまでもその値は残り続ける。 >>245で示されたテラシュールさんのページにある "例えばスコアをstaticに格納しスコアを加算し続けた場合、2週目から前回のスコアを引きついた強くてニューゲームになってしまいます" というのはそういうこと。 http://echo.5ch.net/test/read.cgi/gamedev/1457424481/269
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s