[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart15 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
400: 2024/12/21(土)09:13 ID:Fwktxi0Q(1/4) AAS
whileでループしてる時点でほぼハングアップと同じ
401: 2024/12/21(土)09:46 ID:Fwktxi0Q(2/4) AAS
トグルスイッチについて質問があります

チェックボックスがありON/OFFできるとします
そいつにcallback関数を紐づけてあり、状態が変わるとcallbackが走ります

チェックONのときに押すとcallbackによってOFFになります
するとcallbackが走ってONに戻ります

異常よろしくお願いします
402
(1): 2024/12/21(土)09:51 ID:GMjhbTKC(1) AAS
チェックボックスに関連するトグルスイッチで、状態が変わったときにコールバック関数が実行される場合に、チェックオンからオフ、またはその逆になる際にコールバックが意図しない動作を引き起こすことがあります。

この現象を簡単に説明すると、チェックボックスが「ON」から「OFF」に切り替わるときに、コールバック関数内で再度状態を変更する処理が走ることで、再帰的な状態遷移が発生している可能性があります。具体的には、以下のようなケースです。

説明
初期状態: チェックボックスがON。
ユーザーがチェックボックスをクリックし、状態を「OFF」に変更。
チェックボックスの状態変更に伴い、コールバック関数が実行される。
コールバック関数内で再度チェックボックスを「ON」に変更(状態を元に戻す)し、もう一度コールバックが実行される。
これが繰り返されると、状態の変更がループしてしまい、予期しない動作を引き起こすことがあります。

解決方法
状態変更の条件をチェック: コールバック関数内で状態変更を行う前に、現在の状態が変更前と異なる場合にのみ変更を行うようにする。これにより、同じ状態を繰り返さないようにできます。

javascript
コードをコピーする
// 例:チェックボックスの状態が変わったときにコールバックを実行
function handleCheckboxChange(event) {
const checkbox = event.target;

// チェックボックスがONからOFF、またはOFFからONに変更された場合のみ処理を実行
if (checkbox.checked !== checkbox.defaultChecked) {
checkbox.defaultChecked = checkbox.checked;
// コールバック関数
// 状態変更処理をここに記述
}
}
状態管理フラグを使う: 状態の変更がすでに行われたかどうかを追跡するためにフラグを使用し、状態が変わったときのみコールバックを実行する。

イベントリスナーの適切な設定: change イベントを使って状態変更時にコールバックを実行し、トグルが重複して発生しないようにする方法もあります。

状態の変更を制御する方法によって、予期しない再帰的なコールバックを防ぐことができます。
403: 2024/12/21(土)10:06 ID:Fwktxi0Q(3/4) AAS
>>402
つまりどういうことけ
404: 2024/12/21(土)12:51 ID:ZbZHB27q(1) AAS
自分でそういう命令出してるのでセーフ
405: 2024/12/21(土)14:42 ID:RyNjSfKm(1) AAS
無限に押せて楽しそう
画像リンク

406
(1): 2024/12/21(土)16:52 ID:OHMbuwnQ(1/2) AAS
俺も電子工作にシフトしようかなあ…
デジタル時代は現物のほうが強いよね…
407
(1): 2024/12/21(土)17:04 ID:/MoWDuAo(1) AAS
>>406
ゲームと全然別物じゃね?
ピンボールでも作るのか?
408: 2024/12/21(土)18:53 ID:TYYjfflb(1) AAS
コインプッシャーで
409: 2024/12/21(土)19:29 ID:OHMbuwnQ(2/2) AAS
>>407
もちろん細かい点は違うけど、電子工作もゲームも基本は一緒やで
ゲームオブジェクトを操作してるか、回路上のシリアルピンを操作してるかの違いだけだ
410: 2024/12/21(土)21:10 ID:Fwktxi0Q(4/4) AAS
I/Oはつまらない
ラジオの製作はおもしろかった
411: 2024/12/21(土)23:30 ID:HGBFT27G(1) AAS
噂のコイルガンとかすごい作ってみたいけど
作ったら捕まるから作るチャレンジすらできないっていうね
ハードはロマン追い求めると法律との戦いになるのがうんち

その点、Unityならモデリングして実装するだけ捕まらないし楽しいし
412: 2024/12/22(日)00:30 ID:vDQq7huV(1) AAS
田代砲は撃っても山上砲はやめておけよw
413
(1): 2024/12/23(月)20:00 ID:x2GIqMcw(1) AAS
I/Oは日本初のPC専門雑誌で
80年代には市販ゲームのダンプリストをそのまま掲載していたんだよ!
創刊初期は西和彦がペンネーム変えてほとんどひとりで書いてたのだよ!
西和彦がMSの日本社長になったおかげで黎明期の売上の大半が日本になって
今のMSがあるのだよ!ビル・ゲイツの軽井沢の巨大別荘に行ってみたいんだよ!m9⎛´・ω・`⎞ドーン!
414: 2024/12/23(月)20:05 ID:bAM08WyD(1) AAS
>>413
このハゲ!また出たな
415: 2024/12/23(月)21:49 ID:TZqDSB4v(1/2) AAS
Vector a = new Vector(1,1,1);
みたいな書き方をUpdateでやると毎回GC発生すると言われたんですが、プロファイラーを見てもGCAllocが0のままです
Unityのプロファイラーってあんまり信用しないほうがいいんでしょうか?
自分で作ったHogeクラスをnewするとプロファイラーに出るのも訳分かりません
どうすれば正確にGCの発生を調べられますか?
416: 2024/12/23(月)21:55 ID:8rf8Vgpg(1/2) AAS
vectorはstructだから発生してない
classだったら発生するよ
417: 2024/12/23(月)21:57 ID:8rf8Vgpg(2/2) AAS
自分で囲ってprofilerに表示させると検索しやすいよ
外部リンク[html]:docs.unity3d.com
418: 2024/12/23(月)22:06 ID:TZqDSB4v(2/2) AAS
ありがとうございます
Vector3とかは構造体だからGC発生しなかったんですね
その人が言ってることが嘘と分かって疑問が解決しました
自分で囲む方法も知らなかったので勉強になります
419: 2024/12/23(月)22:57 ID:pq9I4Nux(1) AAS
その嘘つきヤバイな
420: 2024/12/24(火)02:41 ID:84wmuNAL(1) AAS
えー、app-ads.textって何?めんどくさそう
デベロッパーサイトとか無いしどんなの作ればいいの
新しいアプリだけならまだしも既存にも順次適応とかもうめんどくさすぎる~
421: 2024/12/24(火)03:18 ID:VcQGUBCN(1/2) AAS
いやいやすでにやってて当然だろ?
何を今更云ってんだって感じの通達だったわ!
ワイはドメイン代払ってサーバー借りてWordPressでサイト作ってサポート用のメール送信フォーム作ってるから
そこに認証用のtxt置いてる!googlePlayは個人開発者追い出したからAppStore専用になってるがな!m9⎛´・ω・`⎞ドーン!
422: 2024/12/24(火)05:31 ID:1tXA8Pii(1) AAS
え、みんなもう対応済み?
俺は零細個人開発者で5年ぐらいやってるけどapp-ads.textなんて今回のメールで初めて知ったよ
サイトなんてめんどくさいし書くことないからプライバシーポリシー置いてるGithubのサイトになんかそれらしいもんでも作ってみるかな
もう開発終わってコードも忘れたようなアプリ引っ張っり出して対応するのが本当にめんどくさくてもう息をするのもめんどくさい
423: 2024/12/24(火)06:46 ID:m+7+0dpL(1) AAS
書き込むのもめんどくさくなったらまた書き込みに来てくださいね
424: 2024/12/24(火)07:04 ID:VcQGUBCN(2/2) AAS
そのバカはapp-ads.txtをアプリで対応するもんだと思ってるぐらい無能なのだよ!バカが感染るから触っちゃらめぇ!m9⎛´・ω・`⎞ドーン!
425
(1): 2024/12/25(水)10:24 ID:YEuaf93t(1/3) AAS
メリクリだが質問です

while (flag == true) {
print
}

flagはグローバル変数です
こういうループをしているとき、他の関数でflagをfalseにすると、そのときのprintが実行されず抜けてしまうことがわかりました
falseになってもとりあえずその { } 内の処理を終えてから抜けるにはどうしたらよい
426
(1): 2024/12/25(水)10:40 ID:DemnYm09(1/2) AAS
while (flag == true) {
print
}
print
427
(2): 2024/12/25(水)10:47 ID:YEuaf93t(2/3) AAS
>>426
えっ?汚くね
428: 2024/12/25(水)11:26 ID:zvy1kUGw(1) AAS
do {
print
} while (flag)
429: 2024/12/25(水)11:41 ID:DemnYm09(2/2) AAS
>>427
動きゃいいでしょ。この程度の問題を聞いてくるレベルで見栄えを求めないこと。
1-
あと 573 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.010s