2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

今年はプログラム勉強してゲームつくるよ!

1 :以下、?ちゃんねるからVIPがお送りします:2020/02/14(金) 21:32:40.362 ID:aTTYB2Uk0St.V.net
現在26日目だよ!!
開発環境
MacBook 12インチ
unity
VSCode

コードはここ
https://github.com/himajin-vip/test2
現在の進捗状況
https://unityroom.com/games/rensyuu
動画とか
https://Twitter.com/xPf19p
(deleted an unsolicited ad)

30 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:14:32.255 ID:DYnmRO/K0.net
メモリリークか!

31 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:31:37.931 ID:6mQufTaZ0.net
>>30
メモリまったくわかんないや

32 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:33:07.874 ID:R2NUkrrE0.net
ハッシュマップは要素を自動生成してくれる便利ちゃんだぞ

33 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:33:54.765 ID:6mQufTaZ0.net
オブジェクト指向エクササイズやってみてるけどすごくたのしい

34 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:39:05.315 ID:6mQufTaZ0.net
インベントリクラスがどんどんかわっていくわ、、、

35 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:42:17.870 ID:6mQufTaZ0.net
ああああああRemoveどうしたらいいんやああああああああ

36 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:44:06.889 ID:6mQufTaZ0.net
RemoveRangeを手に入れた!!!!

37 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:52:50 ID:dZ6s55gg0.net
俺は一週間なにもしないで過ごした間に6日くらいすすんでる
応援してる

38 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 00:57:23 ID:6mQufTaZ0.net
>>37
休息も大切だよ!!
ありがとう!

39 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:04:32.768 ID:6mQufTaZ0.net
しつもんです!
アイテムを保管するインベントリを持ったインベントリコントローラークラスがあってアイテムを入れたりだしたりっていろんなところでするから
インベントリをstaticにしてインベントリコントローラークラスを継承した操作用のクラスを作ってるんだけどおかしいことしてる?

40 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:11:56.730 ID:liAW4KrCM.net
>>4
いまさらだけどこれってどんなコードでvalue追加しようとしてダメだったの?

41 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:12:12.380 ID:R2NUkrrE0.net
インベントリーコントローラーがインベントリーをコントロールしてないのは違和感あるな

42 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:22:04.807 ID:6mQufTaZ0.net
>>40
えっとたとえばintのフィールドをもったクラスAをキーにしてたとして
Dictionary[ここなにいれるの?]+=addvalue
わかるかな??

43 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:22:36.452 ID:6mQufTaZ0.net
>>41
継承してるから継承先もインベントリコントローラーだよってかんがえてるんだけどおかしいかな??

44 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:23:47.019 ID:6mQufTaZ0.net
用はインベントリコントローラーを継承した追加する人、削除する人みたいにクラスをわけようとおもってるんだよね、それならインベントリコントローラークラスにメソッドとして全部持たせてもいいんだけどどっちがいいかな?

45 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:40:15 ID:nWtOzOCqM.net
やっぱ変なことしてんのかなぁ、、、

46 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:40:34 ID:nWtOzOCqM.net
あれIDかわった

47 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:41:43 ID:y1dH28U+0.net
すごいな
全然わからんけど頑張ってくれ!

48 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:44:11 ID:6mQufTaZ0.net
>>47
ありがとう!

49 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:47:26 ID:wyQlVcZvM.net
>>42
なるほどどうも
これなら同一オブジェクトの参照をわたす必要があるからキーに使ったオブジェクト自体も管理しないといけないから面倒ですね

intの値が同じなら取り出すってやりたいならequalsメソッドをオーバーライドとかかな

50 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:51:34 ID:6mQufTaZ0.net
>>49
大変ですよね、、、だからDictionaryつかうのをやめてListにしました!!

51 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:52:32 ID:6mQufTaZ0.net
>>49
もともと有る物をオーバーライドするって考えはなかったですね、、、、、

52 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 01:53:06.365 ID:6mQufTaZ0.net
きっとものすごい車輪の再開発やってるけど勉強だし気にしない!

53 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:05:02 ID:6mQufTaZ0.net
とりあえずインベントリクラスは完成かなぁ

54 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:06:00 ID:6mQufTaZ0.net
intをラップしただけでこんなに大変とは思わなかったよ、、、暇な人がいたらコードレビューおなしゃす、、、

55 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:18:58 ID:1JpW8VGNM.net
>>51
ちょっと調べたらIEqualityComparerを実装してdictionary作るときに渡すのが正しいようです
テキトー言ってすんません

https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.iequalitycomparer-1?view=netframework-4.8

56 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:21:02 ID:6mQufTaZ0.net
>>55
こんなのがあったのか、、、、、、わざわざありがとうございます!!

57 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:23:21 ID:6mQufTaZ0.net
ただprayfabに格納するためにTojsonがDictionaryに対応してないからどちらにしろListにしないとなぁとは思ってたしよしとしよう、、、、

58 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:29:59 ID:6mQufTaZ0.net
ただラップされたクラスを持ってるリストをちゃんとtojsonしてくれるのかなぁ、、、、ちょっと試してみよう

59 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:31:57 ID:p9d0kdEl0.net
秋葉原昭和口のマクドナルドが閉店、お隣のバーガーキングからもお別れコメントが→感動と思いきや、ド畜生すぎる隠しメッセージ。

http://jicomy.negociar.org/k532kn4/py6f305vd621aa.html

60 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:33:13 ID:6mQufTaZ0.net
やっぱだめかああああああああああ

61 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:36:15 ID:6mQufTaZ0.net
ってことは端からひとつづつJson化していくしかないか、、、、

62 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:39:49.598 ID:6mQufTaZ0.net
あれ、、、、なんか違うな

63 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:44:57 ID:6mQufTaZ0.net
ふむパブリックかつint とかStringみたいなそのままの値じゃないとだめなのか

64 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:45:22 ID:6mQufTaZ0.net
パブリックかぁ、、、、、

65 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:45:57 ID:6mQufTaZ0.net
やっぱそうなるとSavedataクラス作ってそこに値を全部ぶち込むしかないよなぁ

66 :転がりマン ◆KCMJNs5qa6 :2020/02/15(土) 02:50:37 ID:bItSl10j0.net
unityのjson化融通効かないよなぁdictionary使いたすぎる
いろいろライブラリ試したけどこれってのがなかったから結局セーブ用のアセットポチってしまった

67 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 02:53:14 ID:6mQufTaZ0.net
>>66
もうちょっと気軽にぶち込ませて欲しいよね、、、、

68 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:01:40 ID:6mQufTaZ0.net
引数のListの型ってスーパークラス指定しててもサブクラスのListは受け付けてくれないんだ、、、、、、

69 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:06:00 ID:6mQufTaZ0.net
んースーパークラスに変えるクラスを用意するべきかそもそものリストをスーパークラスで作るか、、、
スーパークラスで作ってもいいんだけどコード読むときにそのリストがなに入れてるか分かりにくい気がするけどそんなことないのかな?

70 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:18:40 ID:6mQufTaZ0.net
ああああラップするとクラスで受け渡しするから参照なのかコピーなのか気をつけないといけないな!

71 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:19:18 ID:6mQufTaZ0.net
まじでオブジェクト指向エクササイズ大変だけどプログラムで気をつけるところとか分かってくるし勉強にはいいと思う!!

72 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:25:58 ID:6mQufTaZ0.net
受けを広くしろってよくみるけど引数はスーパークラスにして内部で本当にほしいクラスか判断して動作するようにしたらいいのかなぁ?

73 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:42:03 ID:XJrU1eHm0.net
チミもがんばってるのかね

74 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:49:05 ID:6mQufTaZ0.net
>>73
頑張ってるよ!!

75 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:52:14 ID:6mQufTaZ0.net
Unityでスクリプトつくると勝手につくられるusingって使ってないなら消した方がいいのかな?

76 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 03:57:55.400 ID:WPjSP1iO0.net
久々に見たわ
やめたかと思った

77 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:05:05 ID:6mQufTaZ0.net
>>76
えっほぼ毎日やってるよ!!

78 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:05:49 ID:WPjSP1iO0.net
>>77
ここ一週間見かけなかったけど…
スレ見逃してただけかな

79 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:13:09 ID:6mQufTaZ0.net
>>78
時間が合わなかったのかもね!!
気にしてくれててうれしい!!

80 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:14:16 ID:XJrU1eHm0.net
そういやワシUNITYしらんしC#も3.5以来触ってないやw

81 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:19:28 ID:6mQufTaZ0.net
>>80
楽しいですよ!!
プログラムやってる人なんですね!

82 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:33:19 ID:XJrU1eHm0.net
空気よまずにいうとデータフローに使う構造体やクラスはとりあえずラップしときゃええんちゃうの?
そんで実体はDictionaryで合成してもたせれば?
別途インターフェースで窓口定義して、それを実装させて
コントローラにはその型で入出力するようにしてさ
必要な窓口は挿入削除参照インポートエクスポートくらいやろうし
そのラッパーをアダプタにしていろいろな不都合吸収させればよろし

83 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:36:13 ID:6mQufTaZ0.net
>>82
ひええええなんかわかりそうでわからない初心者脳でごめんなさい、、、

84 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:38:42 ID:6mQufTaZ0.net
ちょっと話それるかもしれないけど最近オブジェクト指向勉強しててインターフェースで窓口的なのよくみるけどこのインターフェースってInterfaceのことなの?
それともクラスとクラスをつなぐ時に直接触らせると依存がうまれるから入出力用にクッションクラス的なのを作れってこと?

85 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:39:17 ID:6mQufTaZ0.net
ちなみに今は下の考えでコードかいてる

86 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:41:49.130 ID:6mQufTaZ0.net
そろそろ1ヶ月になりそうなのにまだ全然だな、、、、、、

87 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:48:58.650 ID:6mQufTaZ0.net
んーなんかぐるぐるしてんなぁ

88 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:49:44.229 ID:6mQufTaZ0.net
フィールドだけのクラスって作ってもいいの?

89 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:49:51.964 ID:XJrU1eHm0.net
>>84
構文はしっかり忘れたけどメンバの定義のみ列挙したやつやったらたぶんせやで
クラスにインターフェースをインプリメントしとけば、
利用側はインターフェースの型で入出力できるで
つまりインターフェースをインプリメントさえしとけば
当該クラスの実装内容はなんでもええから簡単に差し替えられる
型による結合を弱めることがでけるわけやねー
 
しかしデータの形式による不都合のアジャストはクラス内で実際に実装するけどねー
たいがいはラッパークラスにするよん
継承は全体像が固まってからにしないと逆にクラス間結合あげてしまうから慎重にー

90 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:50:09.751 ID:6mQufTaZ0.net
あっやっぱちがうわ

91 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:51:51.063 ID:XJrU1eHm0.net
>>88
それやとただの構造体やけど普通にバリデータ入れなきゃってなって
あとでクラスになるけどなw

92 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:52:52.261 ID:6mQufTaZ0.net
>>89
なんとなくわかるけどわかんない、、、ちなみにもし時間あるならいまinventoryクラスをリファクタリングしたところだからみてくれるとすごくうれしい

93 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:56:35 ID:XJrU1eHm0.net
なんやしらんけどDictionaryでほぼ要件満たしてるけど
オブジェクト型だと強制的に参照扱いになって困るでーってことなら
Dictionaryラップしてアクセスに必要な窓口つくって
そこで参照や挿入時にオブジェクト型から実体とりだして
合成したDictionaryにわたせばええやんと思うたわけや

94 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 04:59:45 ID:6mQufTaZ0.net
>>93
あっそれならわかった!!
そゆことか!
もともとそんな感じでつくってたんだけどオブジェクト指向エクササイズってやつにすべてのプリミティブ型と文字列型をラップすることってあったからちょっと悩んでたんですよね、、、

95 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:00:31 ID:6mQufTaZ0.net
まあ臨機応変にやればいいのは分かってるけど勉強の為だからちょっと無理矢理でもやってみようかなってやってます

96 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:09:26 ID:6mQufTaZ0.net
>>39
>>44
ここら辺だれか教えてほちい

97 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:11:42 ID:6mQufTaZ0.net
値を持たせるところがそもそも違うのかなぁ

98 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:13:14 ID:6mQufTaZ0.net
なんだかそんな気がしてきたよ

99 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:14:10 ID:XJrU1eHm0.net
>>94
別に他のクラス間でのデーターフローではラップしたやつつこうててもええんよ
すべて参照型にしといたほうが全体での凡ミスも減るやろしな
 
単純にアダプタの役割を扱うクラス内で中継するときに
入力時にプリミティブラッパーから値をとりだして渡し
出力時に再びプリミティブラッパーに戻して渡す処理をするだけのことで
アダプタクラスってそういう役割のもんやから
契約単位外のサードパーティのライブラリが全体の設計思想にあわないときに
外部との境界となって結合する役割やからねー→Adapter
MFCやATLといったウ●コを扱うときはセオリーやったんよw
 
これは契約単位の境界に使うセオリーともいえるパターンやからまぁ参考程度に

100 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:19:59 ID:6mQufTaZ0.net
>>99
めちゃくちゃわかりやすい!
データの入出力の窓口で取り出したりラップしたりすればデータフローの末端ではラップしなくてもいいって事かな!検討違いのこといってたらごめんよ!

101 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:21:40 ID:6mQufTaZ0.net
問題はその窓口の作り方がよくわかんないんだよなClassAとClassBをつなぐ窓口をつくるインターフェースをちゃんと作りましょうはわかるんだけど実際の実装をどうやったらいいのかわかんない

102 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:23:00 ID:6mQufTaZ0.net
自分のなかでプログラムがトップダウン的なイメージだからクラスをつなぐっていう横の繋がりのイメージが全く持てない

103 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:24:01 ID:XJrU1eHm0.net
>>96
とりあえずSingletonにしときゃいいんじゃないの?
仮想マシン上で動くアーキテクチャの場合staticによる恩恵はほとんどないし
staticだとマルチタスクになった瞬間ほぼ詰むし
 
データ構造がわからんしデータをどういう分類してるのかわからんけど、
ヘルパー作ってそれ経由で操作ってのはよくやるで、
あまりにも種類が膨大で窓口が大量だったら、
各々のデータオブジェクトに共通のインターフェースをもたせて、
データオブジェクトを返してそのデータオブジェクトを触らせるというパターン
インターフェースが共通なので操作方法は一緒なので利用側はとくに何クラスなのか
意識する必要はなっしんぐ

104 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:27:38 ID:6mQufTaZ0.net
>>103
マジでお友達になってください、、、
ちょっと今の自分には全部は理解できないけど多分インターフェースを理解できてないのが問題なんだとおもった

105 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:29:48 ID:6mQufTaZ0.net
>>1
githubにあげてるからみてくれないかなぁ、、、、、、

106 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:34:47 ID:6mQufTaZ0.net
やばい全然わかんねーわ

107 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:38:41.736 ID:6mQufTaZ0.net
Unityで勉強してるのが悪いのか、、、

108 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:45:56 ID:XJrU1eHm0.net
>>104
Interface IHoge
にaddメソッドのシグネチャが定義されている場合、
それを実装したCFugaクラスやCPiyoクラスの実体は
IHoge型でうけとる(キャストする)ことができんねん
そしてそのIHoge型にキャストされた実態からはaddメソッドがよべるわけだす

つまりデータ入出力のようなきまった振る舞いの場合は、
必要な振る舞いはほぼ決まってるのでクラス内で
ファイルにおとそうがネットワークにおとそうが操作側からは
データを追加!っていう事実がわかってればいいわけだす
その先が武器集合であろうと防具集合だろうと
操作側は追加!や削除!という態様でいいわけでね

Interface 集合
void 追加

class 武器集合 implements 集合
void 追加 {実装色々}

みたいな感じ?

109 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:51:44 ID:XJrU1eHm0.net
分類が少ない場合
[caller] ⇔ [helper] ⇔ [ctrl] ⇔ [ datas ]

分類が多い場合(helperがゴッドクラスになりそうなとき)
[caller] ⇔ [helper] ⇔ [ datas ]
        ← [ datas extends ctrlimp or implement ictrl]

こんな感じ?

110 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:52:12 ID:6mQufTaZ0.net
>>108
interfaceを使えばそれができるってのはなんとなく理解しててそれでステートマシン作ってみたりはしてるんだけど他の使い道がよくわかんないんだよねとくにクッションクラス的なものとインターフェースの繋がりがさっぱりわかんない

111 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:53:45 ID:6mQufTaZ0.net
そもそもの話なんだけどインベントリみたいに色んなところから参照したいクラスをstatic意外でどうやって実装したらいいのかわからない

112 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 05:54:01 ID:6mQufTaZ0.net
static以外で、、、、

113 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:01:19.958 ID:DYnmRO/K0.net
webの設計だとflexって言うのがあって
Store→View→Action(→Store)

でっかいStore→View
 表示されてる全ては一つのデータツリーから表現される

Action(ボタン押す)→Store更新
 ロジックがここに分離される

114 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:01:36.263 ID:XJrU1eHm0.net
>>111
UNITYがちょっとよくわからんけどたぶんアプリケーションフレームワークになってて、
プラグインのようにハメこんでいくものと過程すると
実行エンジンがイベントなりでコールバックをコールしたときコンテキストをマップなりで受け取れるようにしてるはず
それに習って頻繁に使うデータ構造はコンテキストオブジェクトの中のメンバとして内包しておくってのもテンプレやね
で、大元となる全体を制御するコントローラクラスがコールバック呼び出すときに、
引数なりでコンテキストオブジェクトを渡してやると
 
Win32のようにデバイスコンテキスト取得する静的窓口用意してもいいけど
こっちの方式は古典的になりつつあるかも

115 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:01:53.108 ID:6mQufTaZ0.net
最初に全部newしてSetUp的なメソッドの引数で必要なクラスを全部引数としてもたせればいいのかな、、、、

116 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:02:23.148 ID:DYnmRO/K0.net
つまり現在どっかからアクセスされる可能性があるデータは一箇所がロードして管理してるほうがいいのかな
MVCって設計だとControllerって役割かな

117 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:04:18 ID:DYnmRO/K0.net
そろそろ「Unity game Best practice」とか「unity game asesome」とかでオープンソース読んだらどんどん吸収できる時期なんじゃないの

118 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:09:01 ID:6mQufTaZ0.net
ふむ、、、えっと今考えてるのがUnityではGamemanagerクラスって特別なクラスがあってどこからでも参照できるクラスがあるんだよねそこに全てのデータを持たせておいてGamemanager.ほにゃららで操作するのがいいのか
それとも起動時にGamemanagerのStartメソッドが呼ばれるからそこでデータ管理系のクラスを全部インスタンス化してしまってお互いに必要なものを参照渡ししあって自信のメンバにして操作するか
なんだけど、、、、

119 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:10:07 ID:6mQufTaZ0.net
>>117
そうなのかなぁ、、、多分めっちゃ基礎的な部分ができてないんじゃないかと思ってきたよ、、、、

120 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:12:17 ID:XJrU1eHm0.net
>>110
ラッパーは、基本契約単位外との入出力時の橋渡しに使う感じかねえ
そういう規約にしてるとこはおおいかんじ。三●グループではそうやった
つまり接続先の内部にたちいったり管理することが不可能な場合は
力技が効き接続先に明らかなバグがあっても
バグを前提に接続させることができるし契約単位内と完全分離できるから
2000年代のWinServはほんとクソだったから境界ほぼこのパティーンで実装されてる
  
で、インターフェースを使うのはCOMやDCOMやCORBAみたいに外部に窓口提供したり、
契約単位内でクラス結合を弱めたいときやデータ分離して設計思想を統一するときに使うって感じ
 
まぁ契約単位内っていっても配置転換で担当者変わったら・・・ってこともあるので
あくまで形而上の話やけどねw

121 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:12:31 ID:DYnmRO/K0.net
あとは状態管理(state management)ってキーワードでググるとなにか出てくるかも

122 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:22:41 ID:6mQufTaZ0.net
あああなんとなく分かってきた気がするわ

123 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:23:32 ID:6mQufTaZ0.net
ラッパークラスって考え方がなかったから変に考えてたきがする

124 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:26:13 ID:6mQufTaZ0.net
とりあえず自身のクラスのことは自身にやらせて2つのクラスのデータが欲しいときは別のラッパークラス作ってその中でやればいいって感じかな??

125 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:26:27 ID:6mQufTaZ0.net
ちがうか、、、、

126 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:27:03 ID:XJrU1eHm0.net
>>118
まぁ作りながら発想ひろげていくパティーンだと前者はゴッドになりやすく
WindowsOSのソースコードみたいにものすごく長いswitchみたいになって
どうすんのコレって状態になるから後者のほうがええで
 
作りながら拡げていくって製作方式続けるなら
コントローラがモデルにそのモデルに必要なデータオブジェクトをコンテキストとして渡す
ってのが機能整理分担しやすくてええんちゃうか
 
OSの基本アーキテクチャの場合
イベントはユーザ入力・ハードウェア入力・タイマの3種類しかないみたいに、
大枠の分類してみればどのときにどのコンテキスト情報が入用かは割りと整理できるで

127 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:33:32 ID:6mQufTaZ0.net
>>126
やっぱり前者だと神classができあがるよね、、とりあえず後者でやっていこうと思う実際ステートマシンで状態移管しながらUpdateするって設計だからその状態で必要なクラスをその状態のインスタンス作るときに引数で渡すようにするよ!!

128 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:35:26 ID:XJrU1eHm0.net
>>124
まぁそのデータクラスを構造的に抽象化できる概念があれば、
その概念でラッパーを作ればみたいな感じでええんちゃう?
武器集合と防具集合があればそれの上位概念である装備集合を導きだして
装備集合にアダプタ機能と窓口はあるが実体は武器集合と防具集合みたいに

基本は別のクラスからコレ使えるかなって考えたら余計な窓口がみえてきて
別の概念の振る舞いやなコレと気づいて割りと独立性は高まるもんよ

129 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:36:10 ID:6mQufTaZ0.net
多分だけどいまの状態管理だとおおまかすぎてあれもいるこれもいるってなってるから状態をもっと細かくしていこうと思いました

130 :以下、?ちゃんねるからVIPがお送りします:2020/02/15(土) 06:39:19 ID:6mQufTaZ0.net
>>128
たとえばなんだけどプレイヤーがItemUseってメソッドをもってるとしてインベントリの情報もアイテムの情報もいるじゃないですか?
インベントリもアイテムもクラスとして有る場合はプレイヤークラスにその二つのクラスを持たせた方がいいんですか?
それとも3つのクラスの情報を引き出して操作するクラスを作った方がいいです?

総レス数 179
46 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★