[過去ログ] ゲーム制作 雑談スレ【part31】 (1002レス)
1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
711
(1): 名前は開発中のものです。 [] 2024/12/14(土) 07:56:06.81 ID:MNJpJ+iV(1/41) AAS
>>694
694(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 03:40:52.78 ID:fdxr5Xd2(1/5) AAS
>>655
違ってたらごめんだけど、UIのテキストやウィンドウ、ボタンを全部ヒエラルキー上に配置してるように見えるんだが…
全部スクリプトで書いて、開く時に呼び出したら簡潔にならない?
確かにシーンに直接配置している
スクリプトで呼び出すとコードが複雑になってしまうと思うからそうしてるんだが
確かにそっちのほうがいいかもしれない
713: 名前は開発中のものです。 [] 2024/12/14(土) 08:32:49.68 ID:MNJpJ+iV(2/41) AAS
外部リンク:creator.game.cyberagent.co.jp
俺のゲームが破綻した理由が書かれてる
結構プロでもややこしい問題のようだね
724
(1): 名前は開発中のものです。 [] 2024/12/14(土) 13:21:06.06 ID:MNJpJ+iV(3/41) AAS
>>717
717(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 11:21:48.75 ID:4dRrrYDR(1/13) AAS
オブジェクト指向否定ニキってどうやって野球ゲーム作ったんやろな
Unityなんてオブジェクト指向の塊なのにな
俺の解釈ではオブジェクト指向ってのはSwitch文をとにかく無くす
という趣旨のものだと思ってるのね
俺はSwitch文使いまくりでいいじゃんと思ってるからオブジェクト指向は
ほとんど要らないわけ
730
(1): 名前は開発中のものです。 [] 2024/12/14(土) 14:01:22.55 ID:MNJpJ+iV(4/41) AAS
>>729
729(2): 名前は開発中のものです。 [sage] 2024/12/14(土) 13:54:52.69 ID:anW5RrAZ(10/22) AAS
>>728 なるほどね。他で自己流うんちくを語らないことを望む
別に自信があるわけではないから今回のように突っ込まれないと
語ることはないですよ
今までもそうしてきたでしょ
731: 名前は開発中のものです。 [] 2024/12/14(土) 14:19:43.59 ID:MNJpJ+iV(5/41) AAS
>>729
それと「オブジェクト指向はSwitch文をなくす方向のもの」ってのは
俺の独自見解ではなくてプログラミング書籍に載ってたことだよ
734: 名前は開発中のものです。 [] 2024/12/14(土) 14:53:08.50 ID:MNJpJ+iV(6/41) AAS
>>732
732(1): 名前は開発中のものです。 [] 2024/12/14(土) 14:27:18.27 ID:anW5RrAZ(11/22) AAS
>>730 今回スパゲッティみたいに複雑になるとわからなくなるって理由で頓挫したから、親切な人が大きいプログラムをやるなら基礎的なオブジェクト思考を取り入れろってアドバイスもらったんでしょ?
オブジェクト思考はクソって否定して理由がスイッチ云々っておかしいでしょ。
作りての好きにつくればいいけど、ヒント貰ったんならちょっとは調べて語ろうよ
別におかしくない
今回スパゲティになってしまったのはSwitch文の設計を間違えたから
だと思ってる
Switch文を適切に設計することは俺にとっては適切にクラス設計することと同義
736
(1): 名前は開発中のものです。 [] 2024/12/14(土) 14:56:48.26 ID:MNJpJ+iV(7/41) AAS
>>733
733(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 14:38:42.69 ID:fdxr5Xd2(2/5) AAS
>>711
複雑になってしまうけど、後々いじらなくて済むように書いておくんよ、可変する部分は変数に入れて
で、メソッドやクラスで呼び出す時はこう書くよってテンプレ作っておいて、呼び出しの一文を書けば完結する状態にしておく、つまり713
手作業で一画面一画面作ったほうが楽そうだ
一画面ごとに内容が全然違うから
743
(3): 名前は開発中のものです。 [] 2024/12/14(土) 15:35:21.84 ID:MNJpJ+iV(8/41) AAS
>>739
739(2): 名前は開発中のものです。 [sage] 2024/12/14(土) 15:16:18.65 ID:nya+qNWS(1/12) AAS
どうしても煽りになってしまうのは悪いが、Unityでオブジェクト指向否定って意味わからん
大体アレってMonobehavior継承するだろ普通。そもそも全部オブジェクトだし
まずね、unityで継承を使うと結構しんどいのよ
例えば「敵base」が基底クラスで「敵a」「敵b」と量産するとする
そうしたらまず敵baseにどの処理を置くか、派生クラスに何を回すか
ってのを決めないといけない
そこで硬直化してしまうのよな
後からcを作った時「やっぱりbaseのものをcで設定したい」とか出てくる
前にSTG作ったときに継承は逆に面倒と思った
それと多態は役に立つことはあるけど多態を実現するのはunityだと
unityの機能のイベントシステムでできる
そういう理由で「やっぱりオブジェクト指向要らんな」となった
744
(1): 名前は開発中のものです。 [] 2024/12/14(土) 15:36:50.75 ID:MNJpJ+iV(9/41) AAS
>>742
742(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 15:21:46.31 ID:fdxr5Xd2(4/5) AAS
>>736
画面毎に内容が、本当に全然違うならしようがないけど

例えばこの前のRPGのUIなら、ウィンドウやテキストの位置、ボタンの種類などを、ステータスやアイテムの機能ごとに事前にまとめておいて省略することはできる
手作業したくなる気持ちはマジでわかるけど、そこ踏ん切りつけないと大作つくるには時間足りないよ
UIの効率的な作り方は今研究してる
再来週のゲームジャムで使えたらなと思ってる
エディタ拡張とかいいような気がする
750: 名前は開発中のものです。 [] 2024/12/14(土) 16:01:37.61 ID:MNJpJ+iV(10/41) AAS
>>749
749(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 15:58:43.57 ID:4dRrrYDR(3/13) AAS
>>745
自分から「オブジェクト指向はクソ」って言ってるんだよなあ
>>667
667(1): 名前は開発中のものです。 [] 2024/12/13(金) 21:14:14.40 ID:krdc00p/(11/13) AAS
>>666
俺はそもそもオブジェクト指向に否定的
継承とか糞機能と思ってる
デザインパターンもゴテゴテし過ぎで自分のゲームの役には立たない
では「オブジェクト指向に否定的、継承は糞」と言ってる
「オブジェクト指向は糞」なんて言ってない
オブジェクト指向の中には多態で使うインターフェースも含まれるから糞とは
思ってない
752: 名前は開発中のものです。 [] 2024/12/14(土) 16:18:01.93 ID:MNJpJ+iV(11/41) AAS
>>751
751(4): 名前は開発中のものです。 [sage] 2024/12/14(土) 16:12:36.62 ID:HLWcS2Ch(3/10) AAS
低レベルな話するなよお前ら
どんな書き方でも完成したら正義だ
話題潰して済まんな
753: 名前は開発中のものです。 [] 2024/12/14(土) 16:18:33.00 ID:MNJpJ+iV(12/41) AAS
>>751
あ、別人だった
766
(4): 名前は開発中のものです。 [] 2024/12/14(土) 19:07:43.36 ID:MNJpJ+iV(13/41) AAS
>>760
760(2): 名前は開発中のものです。 [sage] 2024/12/14(土) 18:28:56.04 ID:nya+qNWS(4/12) AAS
>>743
>例えば「敵base」が基底クラスで「敵a」「敵b」と量産するとする
>そうしたらまず敵baseにどの処理を置くか、派生クラスに何を回すか
>ってのを決めないといけない
>そこで硬直化してしまうのよな

普通は、先に「敵a」作って、その後「敵b」作ろうとするよな?その時に共通項目を「敵base」に移すだけじゃん。そんなに悩むかそこ?
また敵が増えていく度に同じ実装する方が可読性下がるし、後からコーディングの改良点に気付いた時に、全部の敵について同じ個所を直すのは大変だぞ

>後からcを作った時「やっぱりbaseのものをcで設定したい」とか出てくる

メソッドを同名同引数でオーバーライドすりゃいいだけじゃん。
何ならオーバーライドしたメソッド内で、先に基底クラスの同名メソッド呼んで、その後に変えたい部分を設定し直せばいい。
例えばですね、ダメージを受けて点滅させる処理をつけるとするでしょう?
「ダメージ受けるのはみんな同じだから共通処理にしよう」と作ったとします
で、作ってるうちに「やっぱこの敵だけ点滅の色を変えたい」と思ったとします
もし敵キャラをすでに数十匹作った後だったとしたらどうやって
一部キャラだけ点滅具合を変更しますか?
点滅処理は基底クラスに置いてるのでそれは動かせないじゃないですか
768: 名前は開発中のものです。 [] 2024/12/14(土) 19:09:57.87 ID:MNJpJ+iV(14/41) AAS
>>764
764(2): 名前は開発中のものです。 [sage] 2024/12/14(土) 18:45:44.34 ID:fdxr5Xd2(5/5) AAS
>>744
その辺研究するならやっぱりRPGツクール触っといたほうがいいよ
作らなくてもいいから、息抜きに起動して便利なところ吸収したら
まぁ今回頓挫してまず思ったのは「これツクールで作り直せないかなぁ」
だったのであなたの言うことは丸切り的を射てると思います
771
(1): 名前は開発中のものです。 [] 2024/12/14(土) 19:21:18.73 ID:MNJpJ+iV(15/41) AAS
>>770
770(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:15:32.11 ID:HLWcS2Ch(6/10) AAS
>>766
そういうのはChatGPTに聞けば優しく教えてくれるぞ
unityでは既に答え出てる
今回の例では「ダメージ処理を分離させてコンポーネントにする」
というunityの「コンポーネント指向」というやり方
これがあるから継承も要らないしオブジェクト指向もあまり使わない
まぁこれからはDOTSというものが主流になってコンポーネント指向も
なくなるらしいが
775
(1): 名前は開発中のものです。 [] 2024/12/14(土) 19:30:33.16 ID:MNJpJ+iV(16/41) AAS
>>772
772(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:26:10.37 ID:nya+qNWS(6/12) AAS
>>766
>一部キャラだけ点滅具合を変更
そういう場合は、Initメソッドをオーバーライドして(つまり基底クラスにも子供クラスにも同名メソッドを用意して)、点滅仕様(色とかタイミングとか)の処理を分ければいいんだよ
基底クラスのInitでは標準的な点滅仕様で初期設定して、子供クラスのInitでは独自の点滅仕様をカスタマイズする感じな
initって何だ?
unityで使うのか?
子クラス全部のコードを修正するのか?
全部のコードを修正するのであればそれはオブジェクト指向的にいえば
既に設計ミスの段階だが
777: 名前は開発中のものです。 [] 2024/12/14(土) 19:32:45.74 ID:MNJpJ+iV(17/41) AAS
>>773
773(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:26:27.87 ID:nya+qNWS(7/12) AAS
てか全部の種類に点滅仕様(色とかタイミングとか)をハードコーディングするのかよw
標準的な点滅仕様をちょっと調整したいと思った時、全部"#FF0000"とか書き直すのか?
分かりやすいように例で言っただけで実際起こったのはそれに加えて
「特定の敵がダメージ食らったらゲーム中央のマネージャーにメッセージを送りたい」
と言うものもあった
779
(1): 名前は開発中のものです。 [] 2024/12/14(土) 19:35:54.05 ID:MNJpJ+iV(18/41) AAS
>>778
778(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:33:24.11 ID:nya+qNWS(9/12) AAS
>>775
>子クラス全部のコードを修正するのか?
色を変えたいんだろ?じゃあ、変えたい分は全部変更する必要があるじゃん?
何がどう失敗なのか、全く意味が分かん
子クラスのコード全部修正するならオブジェクト指向の意味ないじゃんw
そういうのを避けるために思いつかれたものなんだから、オブジェクト指向プログラミングって
783
(1): 名前は開発中のものです。 [] 2024/12/14(土) 19:44:16.15 ID:MNJpJ+iV(19/41) AAS
>>782
782(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:42:23.84 ID:nya+qNWS(10/12) AAS
>>779
どこにコードを全部修正するって書いてるんだよ?よく見ろよ。Initで点滅仕様を初期設定する部分だけ変えるんだよ。
タイミングや色が違うだけで、処理のルーチンやそれに関わる変数構造は同じだろが。
コンポーネント志向って言って、全部の種類に同じルーチン書くのか?wコンポーネントで多態を実現するなら、それこそ継承が必要だろ
initって何?
787: 名前は開発中のものです。 [] 2024/12/14(土) 19:51:37.72 ID:MNJpJ+iV(20/41) AAS
>>784
784(2): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:46:55.45 ID:hKEPl4iv(1) AAS
>>783
なんだと思う?
ChatGPTに聞いても「initメソッドなんてありません」と返ってきたが
790: 名前は開発中のものです。 [] 2024/12/14(土) 19:59:19.72 ID:MNJpJ+iV(21/41) AAS
>>788
788(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:55:10.84 ID:ZKxNsGLx(1) AAS
>>771
コンポーネントもオブジェクト指向の一部だと思ってたんだが違うのか?
まぁそういう解釈もあり得る
ただプログラミング書籍に書いてある「哺乳類クラスから犬クラス、
猫クラスが派生して犬はわんと鳴いて猫はにゃーと鳴く」
という話とコンポーネント指向はかなり違うので今回は別物と扱わせてもらった
791
(1): 名前は開発中のものです。 [] 2024/12/14(土) 20:01:51.24 ID:MNJpJ+iV(22/41) AAS
>>789
789(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 19:58:49.17 ID:nya+qNWS(11/12) AAS
今日びは自分でメソッド定義しないで、UnityのMonoBehaviourのイベントリスナのオーバーライドにしかコード書かんのか
どんだけオブジェクト指向の恩恵に浸ってるんだよwむしろオブジェクト指向にスポイルされてるレベルじゃんw
「俺はオブジェクト指向には否定的なんだよ(キリ」
ちょっと勉強したいからそのリンク教えて
794: 名前は開発中のものです。 [] 2024/12/14(土) 20:17:24.87 ID:MNJpJ+iV(23/41) AAS
>>792
792(1): 名前は開発中のものです。 [] 2024/12/14(土) 20:09:53.68 ID:anW5RrAZ(13/22) AAS
出来ないレベルで糞とか言ってる時点でおかしいだろう

>>766 ダメージ与えたときにインターフェイスのアウトプットで点滅フラグ、ボスフラグ等でBaseクラスで分岐すればいいじゃん?。
インターフェースを数十の敵クラス全てにつけるということ?
795
(1): 名前は開発中のものです。 [] 2024/12/14(土) 20:18:13.04 ID:MNJpJ+iV(24/41) AAS
>>793
793(1): 名前は開発中のものです。 [sage] 2024/12/14(土) 20:11:40.12 ID:nya+qNWS(12/12) AAS
イベントリスナではなく、純粋な抽象メソッドか

>>791
何の勉強?
>今日びは自分でメソッド定義しないで、UnityのMonoBehaviourのイベントリスナのオーバーライドにしかコード書かんのか

というのの意味がよく分からなかったから勉強したい
799: 名前は開発中のものです。 [] 2024/12/14(土) 20:29:57.21 ID:MNJpJ+iV(25/41) AAS
>>796
796(1): 名前は開発中のものです。 [] 2024/12/14(土) 20:25:35.53 ID:anW5RrAZ(14/22) AAS
野球マン 継続して作ってるから忍耐力を感じる。
欠点 ゲームを作りたいが故に基礎を斜め読みで作業してるため長年やっているがミニゲしか作ることができない
理由 複雑な構成を構築しようとするとスパゲッティになってわけわからない
解決策 あーだこーだ言わずに基本を勉強して効率的有効なプログラム力を上げるしかない
まとめるとこんな感じ?
大分違う
俺はとにかく楽がしたい
楽ができなくなると頓挫してしまう
楽がしたいと思うのが間違いという人もいたが。
技術をつけることは大事だと思うけどオブジェクト指向がそれに相当するとは
思わないだけ
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s