[過去ログ]
ゲーム制作 雑談スレ【part28】 (1002レス)
ゲーム制作 雑談スレ【part28】 http://mevius.5ch.net/test/read.cgi/gamedev/1719897866/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
146: 446 [] 2024/07/10(水) 13:56:52.30 ID:7BEXlFef すごい初歩的な事聞くんだけどさ 実績的なものを実装してある条件を達成したら「実績をアンロック」って出したい場合 その条件を満たしそうな行動が実施されるたびに最低でも実績解除済みかの判定をしなきゃいけないんかな 何が言いたいかというと今後二度とtrueにならない判定を実行中のコード内から排除する方法ってないのだろうかと まあ、今のマシンスペックでbool判定一回のオーバーヘッドなんて無視できる計算量だろうけれど http://mevius.5ch.net/test/read.cgi/gamedev/1719897866/146
150: 名前は開発中のものです。 [] 2024/07/10(水) 17:28:13.74 ID:EPhYyG7i >>146 リスナークラスを使ってるな、イベント発生点はリスナーに投げるだけ 実績クラスが必要なイベントだけ受け取り達成してるか集計など行う 型を意識せず済むし、受け取り側は複数でもいけるからね さらに言えば、実績マネージャークラスってのがあって 実績クラスのリストを持ってる 達成時に実績クラスはマネージャーを呼んで 未表示の達成数をカウントし、実績を達成リストへ移す ゲームフレームでは未表示達成数>0のチェック一行だけ 達成があればアンロック可などの画面通知やら行う 実績クラス実績マネージャークラスがあると条件値と経過値を 持たせられるから、セーブもしやすくなるし、条件をテーブル化しやすくなる 実績機能を分離独立できるメリットもあるね http://mevius.5ch.net/test/read.cgi/gamedev/1719897866/150
151: 名前は開発中のものです。 [sage] 2024/07/10(水) 17:42:23.03 ID:wYgfvr6W >>146 計算量が気になるなら、フラグの数に関係なく一定の計算量になる処理にしたらいいんじゃない? http://mevius.5ch.net/test/read.cgi/gamedev/1719897866/151
234: 名前は開発中のものです。 [sage] 2024/07/22(月) 07:45:56.31 ID:aPFQT9Yj >>146 遅レスだけどこんなのはどうだろうか? 実績クラスを作ってcheckメソッドを作り実績解除条件達成ならばtrueを返すようにする ハードコーディングなら今クラスを継承してcheckメソッドをオーバーライドして条件を設定する ゲーム開始時に実績クラスのインスタンスを作りlist等に入れておいてゲーム更新時にlist内のインスタンスのcheck呼び出してtrueならば実績解除の処理してlistから削除 こうすれば解除済みの条件を再確認しなくなるかな? 毎フレーム確認が負荷になりそうなら数フレーム毎にチェックや確認は1つに制限して負荷分散かな? あとこれで1つの関数なりに全部の実績確認を詰め込まなくて良くなるからif地獄はなくなると思うし実績を増やしたくなっても簡単 http://mevius.5ch.net/test/read.cgi/gamedev/1719897866/234
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.515s*