Unityで自作ゲーム作りたい (71レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
43(1): 名前は開発中のものです。 [] 2023/05/20(土) 21:56:21.74 ID:W7PIk5hf(4/4) AAS
CharacterButtonを押すと、
画像リンク
Prefab化されたCharacter,character1,character2の内、それぞれ一体がランダムでPlayerField1とEnemyField1に出現
画像リンク
CharacterButtonのButtonScript
画像リンク
PlayerとEnemyのキャラクターを同じPrefabのところ?から出てくるようにしてしまったのですが、今後都合の悪いことが起こりますかね?分けなくても大丈夫でしょうか?
攻撃は、合っているかはわかりませんが、今は「ボタン1を押したら攻撃?をする」みたいにしようとしています
まだ>>3636(7): 名前は開発中のものです。 [sage] 2023/05/20(土) 01:10:27.41 ID:XBQoaWqo(1) AAS
主がどれぐらいのレベルかは分からんから全くの初心者だと想定してアドバイスすると
最初はナンモワカランと思うからUpdate()の中でなんやかんやするコードが書ければいいと思う
修飾子もPublicとかPrivateとかStaticとか色々あってようわからんと思うが、最初は何も考えずにPublicで作っていくといい
ゲームを進めるための入力の判定はuGUIのボタンを使うと簡単に実装できる
UnityはuGUIのボタンの中にOnClick()というイベントを追加管理できるシステムがある
ここに好きなメソッドを登録しておける
これを使うと画面のボタンを押した時に登録したメソッドを発火させることができる
このメソッドの中で変数の変更をしてあげれば何を選択したかを取得できる
あとはUpdate()の中で条件分けしてやればとりあえず動くものができるぞ
ここまでは初心者ならどうするかを書いたが
ここからは自分ならどうするかを書くぞ
まず全部Update()内で処理は負荷的によろしくないので常時判定が必要なものとそうじゃないものに分ける
例えば制限時間の表示とかをUpdate()で行ってそれ以外は全部独自のメソッド内で処理する
また、1クラスで全部処理するのは管理面やデバッグを考えると現実的ではないのでクラスとスクリプトを複数に分ける
例えばゲームマスター.csとプレイヤー.csとエネミー.csに分けるかな
・ゲームマスタークラスはゲーム全体の進行・勝敗判定を行う一番でかいクラス
・プレイヤークラスは自分の選択とキャラクターの動的パラメーターの保持・GUIの表示をするクラス
・エネミークラスはプレイヤークラスを”継承”して相手の選択とキャラクターの動的パラメーターの保持・GUIの表示に加えてランダムに選択するコードを内蔵したクラス
あとはボタンが押されるたびにプレイヤー・エネミークラスの状態をゲームマスタークラスに”値渡し”して進行判定を行って
結果をプレイヤー・エネミークラスのメソッドを呼び出して反映して表示してあげればOKって感じだと思う
ざっくりとしたまとめだけど検索するときの参考にでもしてくれ
長文スマン
さんの言ってる内容について理解しきれていない部分があるので、unityのチュートリアルやC#などをやりながら使えそうなところがあったら進めていきます
もし時間等に余裕がありましたらこれからも助けてくださると幸いです( ;∀;)
44(1): 名前は開発中のものです。 [sage] 2023/05/21(日) 01:13:53.70 ID:YzQKd1TP(1) AAS
>>43
いい感じじゃん
同じPrefabが云々の話は結論だけ言えばInstantiate使ってるから問題ない
寧ろプログラマ的には共通化できる部分はどんどん共通化していった方がいいから筋が良いぞ
何で大丈夫なのか詳しく知りたけれは”インスタンス化”で調べてくれ
解説がメンドイ
勘違いしてるかもしれないから一応言っておくと、
ボタンが押されたとき呼び出す関数の名前はOnClick()以外でもいいぞ
それとアドバイスだが、変数の宣言は最初は全部クラスの直下でやっておいた方がいい
再生したときにInspectorに表示されるからデバッグがしやすくなる
(PlayerRandomIndexとかPlayerCharacterとかの事ね)
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.007s