Unityで何かゲームを作りたいんだがね [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2016/01/06(水) 21:53:44.35ID:coXhTMmW
何かアイディアとかあったら教えてほしいんや
238弟子
垢版 |
2020/06/24(水) 08:13:08.22ID:wt31zZvI
昔ベーマガという雑誌があってだ
そこには必ずやゲームのソースがのってたのだよ
で何も知識もないその頃の読者たちは必死でそれをパソコンに打ち込んで実行するのだよ
そういう動くコードを、さらに改造して知識を深めて行って最終的に自分で1から作れるようになるのさ
239弟子
垢版 |
2020/06/24(水) 08:39:48.57ID:wt31zZvI
>>237
> 問題の解決方法を教えてあげるのが一番いいと思うが…

完全に僕とはスタンスが違うので、それやりたいなら自分でスレ建てればいいよ
わざわざ人が質問スレから誘導してきたのにでしゃばってまでやりたいというのがわからんが
あ、このスレあなたが作ったんであれば、私が出ていくから後はしっかり最後まで面倒見てね

どうします?
240名前は開発中のものです。
垢版 |
2020/06/24(水) 09:02:08.96ID:LHtPCiJZ
>>225
ありがとうございます。
このパッケージで試したら移動後も問題なくタップ検知しました。

ということは
自分のシーン2の方のスクリプトに問題があるということですが、
LoadSceneで他のシーンをロードしても影響が残るってことは
シーン2で使ってるタップ関係以外の
Time.timeなどの計算が続いてるってことですよね。
Invokeやtimeなどの時間計算をきちんと終了させるために
必要なコードが抜けてるのでしょうか
それともシーンをDestroyすると完全に消えるとかあるんですかね
2020/06/24(水) 10:38:44.96ID:QrxPQpfr
>>239
ベーマガなんて懐かしいものをw
そんなの出さなくたって通じてるよ、君も書いてるでしょ、よく読まずに諭すなんて 失礼 な話だってw
それに、ほら弟子、あ弟子の弟子になるのかな?ソースが動いたってレスくれてるじゃないか、完了したみたいだけど。さすがにそこからは踏み込めないよw
242弟子
垢版 |
2020/06/24(水) 11:31:27.90ID:wt31zZvI
>>240
うーん、全体が見えないので何とも
objectにクリック設定しているって事なのでカメラからのRaycaster関係かなって気がするけど

原因究明には、最小限のコードにしてみる事です
あとは、今回のちゃんと動いてるパッケージにそちらの欲しい機能を追加していく感じかなぁ

なんにせよ全体が見えないからねぇ
243弟子
垢版 |
2020/06/24(水) 11:43:20.74ID:wt31zZvI
>それともシーンをDestroyすると完全に消えるとかあるんですかね

んーと、シーンのDestroy?
ちなみにUnloadする場合、非同期なのでシーンのUnloadをまって処理するとかの場合には
製作途中で得たUnityのミニ知識を披露するスレの44あたりにやり方書いてあるので、参考にしてみて
https://mevius.5ch.net/test/read.cgi/gamedev/1511784235/44 
244名前は開発中のものです。
垢版 |
2020/06/24(水) 21:49:50.01ID:LHtPCiJZ
>>243
検証した結果、シーン2で使ってるスクリプトの中の
「Time.timeScale = 0;」と「Time.timeScale = 0;」を取り除くと
シーン1に行った後のタップの不具合が起きなくなりました。

調べると個別にOnPause()メソッド等で処理すればいいみたいですが、
Time.timeScale = を残したままシーン2から移動するときに
この影響がなくなるような方法はないでしょうか
245名前は開発中のものです。
垢版 |
2020/06/24(水) 21:51:36.38ID:LHtPCiJZ
>>244
「Time.timeScale = 0;」と「Time.timeScale = 1;」
の間違いです。
246弟子
垢版 |
2020/06/24(水) 22:00:13.48ID:wt31zZvI
単純に考えると、シーン2で変更してるなら、シーン1に行く前に戻せばいいような気がします

ちょっと検討つかずで検証コード書けないからまた、明日にでも考えるけど
なにか参考になる、コードある?
(今は酔ってるのでこのあとは寝る)
2020/06/25(木) 00:21:39.08ID:wwm4yt+D
Time.timeScale = 0の時に中断したりデストローイして
0になりっぱなしになってんじゃね?
248くまじょ
垢版 |
2020/06/25(木) 10:35:34.74ID:HXIUvOl4
色々勉強になるなあ
初心者の俺には知らないことや難しいことばかり

>>244
それはタイムスケールを0に変えたままダブルクリック等は普通に動作させたいのか?
タイムスケールが0だと時間が進まないから時間経過でシングルダブルトリプルを区別することが出来ないと推測

ググったら
タイムスケールに影響されないのがあった
これでタイムスケール0でも時間経過でシングルダブルトリプルの区別ができそう(推測)
古いバージョンにはなかった的なことも書いてあった
注意としてアクティブではないときも時間経過するという違いがある
249弟子
垢版 |
2020/06/25(木) 10:39:15.08ID:kYETgQeL
一応TimeScaleについては公式に説明あるので参考までに
https://docs.unity3d.com/ja/current/Manual/TimeFrameManagement.html
250弟子
垢版 |
2020/06/25(木) 10:43:47.26ID:kYETgQeL
くまじょさん、せっかく色々と書いてくれるのはありがたいけど
相手は初心者なので、推測じゃなくて、自身で検証してくれるといいかと

その上で書いてもらえるとみんな幸せになれると思う
じゃなきゃ混乱の元に
251弟子
垢版 |
2020/06/25(木) 19:31:35.92ID:kYETgQeL
検証してみた
public void BtScale0()
{
Time.timeScale = 0;
}
private void Update()
{
print("delta:" + Time.deltaTime);
}
こんなコードでScale0の時にdeltaTimeがどうなるか
https://i.gyazo.com/e3b583c20471898c8a1ec2352462c117.png
結果、0だった

だから、+= Time.deltaTime こういうコードは使えなくなるね

Time.frameCount は常に動くので、deltaTimeのところはこちらを使うように変更すればいいかと思う

OnPauseとか書いてたからポーズ処理だと思うけど
他にいい手があるかも知れないので

明日また検討してみる
252名前は開発中のものです。
垢版 |
2020/06/25(木) 22:51:19.85ID:VUtd4Pqo
>>248>>251
いろいろ試したところ、
シーン2で使ってる「Time.timeScale = 0;」をそのままにして
シーン2からシーン1に移動するときに
一緒に「Time.timeScale = 1;」をしたところ、
シーン1で不具合が起きませんでした。

「Time.timeScale = 0;」はシーンをまたいで
プロジェクト全体に影響するようなので、
0のままにしておくというのがよくないみたいですね。
2020/06/25(木) 23:02:05.26ID:zBD2mxRN
0だとゲーム内の時間とFlexUpdateが完全に止まるから、
物理やtweenや時間を使ったエフェクトが一切利かなくなるはず
254弟子
垢版 |
2020/06/26(金) 08:00:10.08ID:tKrNJp2d
>>252
単純なのはシーン1のstartにtimescale=1をかいておくとシーンが増えて戻し忘れがなくなるかな

とりあえず解決っぽいので良かったです
255弟子
垢版 |
2020/07/29(水) 10:48:43.15ID:dVlkZpMQ
10日からわんういーく
今度はランキング入れたいな
256弟子
垢版 |
2020/08/07(金) 12:28:11.60ID:44ntxl1X
さてどんなお題かなぁ
前回は密、時事的にいくと自粛とかgotoとかか?
作りにくいぞ
257弟子
垢版 |
2020/08/11(火) 22:34:23.58ID:4Ol4zZ9A
ヤバい、1week の、続々作ってるよねーつぃったー勢すごいわ
弟子はやっとアイディアが固まりつつ

と言ってもショボいんだわな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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