UnityC#勉強してMMO作たいけどどうする!?5(^^
■ このスレッドは過去ログ倉庫に格納されています
師匠スレ立て乙です!
2get!!
ぽっきんぐ(^_^ 俺が来たからには安心しろ。
無事ぬるを増やしてやる。 Itemmanagerがぬるぽでひた(^^
でもスタートで代入してるんでふよね(^^
なぜでふか?(^^
https://i.imgur.com/neD3nnV.png ちゃんと同じオブジェクトにItemManagerアタッチしてあるの? いやぺarentからとってあるのか。
ぺarentのオブジェクトにアタッチしてあるか確認してみ 本格的に原因が分かりまふぇんね(^^
外部からぬるを入れちゃってる?(^^
チンコショボーンでふ(^^ うーんいったんシリアライズしてインスペクタで設定してもnullになるなら外部だろうし、試してみたら?
あとGetComponentInParentとか使わないの?事前にtransform.parentしてるのみたらなんかモヤモヤする。 おっとすまん。シリアライズじゃなくてシリアライズフィールドだった。ついつい我流な略しかたをつかってしまう。 >>9
GetComponentInParentに変えたら出来まひた(^^
ご教授ありがとうございまんこ(^^
何大師匠と呼べばよいでふか?(^^ 大師匠っていわれるほどでもないよ。unity始めたのは去年だし、むしろ俺が敬称つかうべき。 でも僕よりは技術あるみたいなので大師匠と呼ばせてくらふぁい(^^
UIの並びとかの関係で画像がUIの裏行ってたバグを直しまひた(^^
今日はショートカットキー全部中身作って寝まひょう(^^ アイテムをスロットに付けて使うと一気に12個消費されるバグ(^^
スロット全部にスクリプト付けてるのが原因でひた(^^
解決してよかったでふ(^^ でも外しちゃダメでふ(^^
外したら付けてる奴しか押せなくなりまふので(^^
どうすればいいのでひょう?(^^
スクリプト12個作ってバラバラに張り付ける?(^^
う〜ん(^^ 解決しまひた(^^
ボタンの種類をあーして(^^
if (Input.GetKeyDown(KeyCode.Alpha0)&&ボタンの種類==0)
{
Itemmanager.useItem(Slotid);
}
こうしまひた(^^
無事解決でふ(^^ >>17
ちょっと前再開したんでふよ(^^
消費はうまくいきまひた(^^
次は使った後アイテムスロットに残ってればアイテムスロットから削除してクイックスロットに
再装着するのを作らないといけまふぇん(^^ ヒントくらふぁい(^^
ググっても出てきまふぇんでひた(^^ やりたいことを細分化してみたらいいと思う。
クイックスロットに再装填ってのは、
アイテム残量が0より大きいか取得
↓
小さいならばクイックスロットから削除
大きいならば一定時間待ったあとに使える
てな感じでいいのかい?
MMORPGでよくあるシステムだけども。 お昼寝しちゃいまひた(^^
>>20
そうでふ(^^
やりたいことはそんな感じでふ(^^ >>21
アイテムの個数は何型で管理してるんだい?
アイテムデータと同じListにいれてたりする?
それとも分けてあるの?
まだ作ってないならdictionaryとかがおすすめだけど。 ただいまでふ(^^
奥多摩から帰国しまひた(^^
例の未記載コシビロダンゴムシは4匹しか取れまふぇんでひた(^^
個数はまだ作ってまふぇん(^^
おススメのやつやってみまふ(^^
ボッキング!(^^ 奥多摩かなり疲れたので寝ちゃいまひた(^^
ディクショナリー使い方はわかりまひたがどうやって組めばいいかわかりまふぇんね(^^
レゴブロック渡されて使い方教えてもらったけど組み方について何も知らないのと同じでふ(^^
設計はさっぱりわかりまふぇん(^^
ヒントになるサイトありまふぇんか?(^^ https://www.sejuku.net/blog/41326
dictionaryはキーと関連付けて検索することが得意だから
例えばキーをint アイテムid Valueをint アイテム所持数で宣言して、ほしいときにvalueを取得して判定を行えば簡単にできないかな アイテム名と個数で管理したいなら
var dic = new dictionary<string, int>(){
{"Item1", 0}
{"Item2", 0}
}
てな感じで作っていけばいいし、もちろんアイテムidで管理してもいい。
個数を編集するときは、
item["Item1"] += 1;
てな感じで大丈夫 感謝感謝のボッキング!(^^
アイテムスロットにあるアイテムを検索取得してKeyに代入するにはどうすればよいでふ?(^^ どうやって管理してるんでひょう(^^
ここらへんぼっこの大師匠が作ってくれたところなのでまだ完全には把握してまふぇん(^^
見てきまんこ(^^ ふぁい(^^
ItemSlotにitemSlotPrefab(Clone)を並べてるみたいでふが(^^
その並べるスクリプトはどれでひょう(^^
もうちょっと探してみまんこ(^^ 「ここ」に何を入れるかが問題でふ(^^
https://i.imgur.com/j2x6llN.png
GameObject.Findしたら100個あるスロットの一番上しか取得されないと思いまんこ(^^
う〜んう〜ん(^^ 僕は何をしよとしてるんでふか?(^^
ずっと弄ってると頭がパッパラパーでふ(^^ まぁ、言動見てる限り、最初からパッパラパーみたいだから今更気にすることないと思うよ。 僕は一体何がしたいんでふか?(^^
僕は誰?(^^Unityって何?(^^
https://i.imgur.com/DUv85V8.png
誰か僕が何してたか教えてけちんぼしないで(^^
ちんちんびろろ〜ん(^^
ボッキング!(^^ 出来まひた!!!!(^^
スロットのアイテムが0の時に使うとバグりまふがアイテム出来まひたよ(^^
僕はこれで成仏できまんこ(^^
ボッキング!(^^ int index = itemSlotList.FindIndex(s => s.getId() == Slotid);
これがヌルの時にこれを実行しないのはどうやるんでひょう?(^^
ググってみまんこ(^^ そもそもググってもFindIndexの情報皆無でふ(^^
仕方がないので寝まんこ(^^ それはリストになにもないときのことをいってるのかい?
それなら
List<>で宣言したなら
if(itemslot.count == 0)
return
int[] で宣言したのなら
if(itemslot.length == 0)
return
でどうにかなりそうだけれども
違ってたらごめんよ >>40
検索結果が無い場合-1が帰ってくるぞ。
添字だから0>=だったら採用ってすりゃあええ 引数がぬるなんじゃないの?
ぬるをファインドできた? エラー内容でふ(^^
https://i.imgur.com/mbAlZOM.png
エラー部分でふ(^^
https://i.imgur.com/SI6NPp7.png
List関連はさっぱりわからないので分かる人が僕の書いたの見たら酷過ぎて仰天すると思いまんこ(^^ NullReferenceException: Object reference not set to an instance of an object
アイテムスロット置く.<下用>m__0 (.ItemSlot s) (at Assets/スクリプト/MMOスクリプト/UI/アイテムスロット置く.cs:86)
System.Collections.Generic.List`1[ItemSlot].GetIndex (Int32 startIndex, Int32 count, System.Predicate`1 match) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:313)
System.Collections.Generic.List`1[ItemSlot].FindIndex (System.Predicate`1 match) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:294)
アイテムスロット置く.下用 () (at Assets/スクリプト/MMOスクリプト/UI/アイテムスロット置く.cs:86)
アイテムスロット置く.Update () (at Assets/スクリプト/MMOスクリプト/UI/アイテムスロット置く.cs:109)
こっちでふ(^^ 師匠!それよりこの
int?っていうの何ですか!
いんとに「?」が付くの
初めてみまんこ ヌル許容型にしてみまひた(^^
でもダメだったので別の場所がヌルッてまふね(^^ そんな機能があったんですね!
弟子は一つ賢くなりまんこ!
ぽっきんぐ(^_^)/ 引数ヌルぽ説が出ているのであとで確かめてみまんこ(^^ あれ?引数ぬるぽならアイテムある時消費した時にもエラー吐きまふよね?(^^
アイテムがクイックスロットに装備されててスロットに消費できるアイテムが無いときにだけエラーになるのでふよ(^^
なぜでひょう?(^^ ダイナミックな地震がきたのになぜみんな平然としているんだ…? >>55
師匠それただ単に表示と同期してないんだけじゃないでせうか?
とおもいまんこ うまく伝わらないので久々に体験版投下しまんこ(^^
しばし待たれよ(^^ そういえばBuildしたやつだとエラー吐かないんでふね(^^
こりゃあ困りまひた(^^ >>58
もう少し詳しく説明しまふ(^^
クイックスロットにアイテムがある:スロット(アイテム欄)にアイテムがある(^^
画像
https://i.imgur.com/w4f7bmK.png
この状態ではアイテムを『1』キーで使えてスロット(アイテム欄)から一個消えまんこ(^^
次に問題のこの状態(^^
https://i.imgur.com/XTUCWFU.png
この状態だとなぜか(^^
int index = itemSlotList.FindIndex(ItemSlot => ItemSlot.getId() == Slotid);
この部分がぬるぽを吐きまんこ^^ 問題のスクリプトだけでいいでふか?(^^
プロジェクト全部あげると1GBくらいあって大変でふ(^^ >>62
師匠!それアイテムなくなってるのにスロット押せるのが間違いじゃ?
アイテムないならスロットはグレーにして押せないようにすれば解決するかなあ? itemSlotListがぬるぽなんじゃね
if文を前につければいいんじゃね >>64
getid()ってなんだ?
それの返り値何になってる? 体調崩して寝てまひた(^^
>>67
引数はないでふ(^^
public int getId()
{
return id;
}
>>65
それをやろうとしてまんこ(^^
>>66
前に付けることなんてできるのでふか!?
ぜひやり方をご教授くらふぁい(^^ 出来まひた(^^
全ての人に感謝感謝のボッキング!(^^ >>68
うをいw
getid()だめだろw
そのラムダの意味は、itemSlotListの中から右辺に相当するItemSlot.getId()を持ってる行数を拾ってこいってこった。
そんでGetIDが何も返さないから怒られてるに1ペリカ!
Return id;ん所にブレイクポイントつけて、idが何返そうとしてるかみてみて ブレイクポイントとか使ったことないのでいまいちわかりまふぇんが(^^
ヒントのおかげで無事何とかなりまひた(^^
でも今度は分岐がうまくいってないのかアイテム無いときにもアイテム使っちゃいまふね(^^
ここは自力で何とかしまふ(^^
ボッキング!(^^ どうあがいてもIndexが0にしかなりまふぇん(^^
原因が分からん事にはどうしょうもないでふ(^^
チンコショボーン(^^ 呼び出し
index = itemSlotList.FindIndex(ItemSlot => ItemSlot.うんちgetId(Slotid) == Slotid);
呼び出し元
public int うんちgetId(int id)
{
return id;
}
何がいけないのか?(^^
僕の怒りはチンコを膨張させまふ(^^
ボッキング!(^^ 師匠のは高度過ぎて弟子にはちんぷんかんぷんぐるぐるです
引数のとこにイコールとか大なりとかつかえまんこ?
もうわけわけめなりるりるり
もっとシンプルに引数に渡すのを設定しまっせ! でも、ぼっこの大師匠の形見なんでふよねこれ(^^
ぼっこの大師匠がやってることが高度なので僕が下手に弄ると赤エラー吐きまふ(^^
なので何とかこのまま使いたいでふ(^^
あるいは根本的なところから変えるか(^^
ボッキング!(^^ あっちを叩けばこっちがバグり結局最初に戻るクソ(^^
怒りでチンコに血が昇りまんこ(^^
ボッキング!(^^ 呼び出される側でリターンした数値は一体どこに代入されるんでふか?(^^
僕は何?(^^ここはどこ?(^^Unityって何?(^^
チンコぐるぐるびよよ〜ん(^^ てか師匠!うんちげっとに渡してるのをそのまま戻してるんじゃないてすか?
てことは渡す意味ないきもすゆのですが弟子の頭ではここが眠たさの限界灘そうそうおやすも 完成の楽しみよりもあーつまんねが勝るときエターなるはやってきまんこ(^^
正直これ完成しない気がして来まひた(^^
でも意地でも完成させまふ(^^ 出来たあああああああああああああああああああああチンコ(^^
itemSlotList.Add(itemSlot);が悪さしてたみたいでふ(^^
本当にここの住民には感謝しかできまふぇん(^^ 主人公が歩くとおケツ丸出しに見える、というよりおケツ丸出しなバグはいつ修正すればいいんでひょうか?(^^
>>79
うんちゲットはヘタに弄るとバグるのでそっとしておきまふ(^^ 質問いいでふか?(^^
次は店か装備の見た目反映やりたいのでふがどっちが先が楽でふ?(^^ >>84
装備はメッシュ差し替えとか、手とかのオブジェクト下にアイテム配置とか、色々楽。店は沼 なるへそ(^^
なら簡単な装備から実装しまんこ(^^
頑張りまふよ(^^
ボッキング!(^^ >>86
装備はある意味楽しい作業だから、どハマりして先に進まなくなる可能性もあるから、割り切って行くとええです。
店は店自体よりも、アイテムはオブジェクトで管理するのか、数で別れるのか?一個一個インスタンス化するのか?落とせるとしたら、保存と再現性は?などなどどちらかと言うとアイテムに関わる決め事で沼になります。
頑張ってください どうするかはもう決めてありまんこ(^^
原作ラグハイムのモロパクで行きまふ(^^
原作はアイテムが並んでてそれをダブルクリックで1個買い
右ダブルクリックで10個まとめ買いでふ(^^
原作では店を開いて一瞬で閉じて股開くと同じ商品群が二回ならぶバグがありまひたので(^^
おそらくは店を開いたときに販売欄にアイテムを配置してるんだと思いまんこ(^^ ラグハイム懐かしいですお!弟子はそのあとのエターナルカオスが初めてやったMMOで
めちゃはまりまんこ!
出来るの楽しみでし! 僕は2006〜2010くらいの間アンドロ鯖で活動してまひた(^^
思い出深いのでまねっこしてる要素が多いでふ(^^
ミュータントとかアイテムデータに存在する武器防具のほとんどがこのラグハイムからのパクリでふ(^^
ちなみに初めて触れたMMOのMU〜奇蹟の大地〜というゲームからもパクリ要素がありまふ(^^
ゴールドモンスターとかパージモンスターとか小箱システムはMUのパクリでふ(^^
楽しみにしててくらふぁい(^^
話戻りまふがマウスでクリックして移動するときにクリックしてから移動開始までラグが1〜2秒あることがあるのでふが(^^
原因が分かりまふぇんね(^^
マップ小さくすればいいかもでふが小さくしたら狭くなっちゃうんでふよね(^^
プレイヤーを小さくすればいいんでふか?(^^ プレイヤー小さくしたらマップサイズそのままでもラグがなくなりまひた(^^
でも*0.1だとプレイヤー小さすぎまんこ(^^ >>91
小さくしないとラグいならパフォーマンスが不味いのかも知れませんが、風景的に見晴らしが良い状況でのパフォーマンス改善は結構難しいです。
将来スマホやwebやvrにしたいなら、今の時点でそれだと、開発終わりの盛り盛りになった時に動かないでしょう。
パフォーマンスこそ沼何で、どうしても我慢出来ないなら、軽く調整するのがお勧めです。
本格的なのは後が良いです
今軽くやるなら、
quality settingのレベルや影
画面の解像度
カメラのfield of view
を見直す事で効果が期待出来ます。 レベル最低にしまひた(^^
影も糞仕様に(^^
昔のMMO感が出てきてこれはかなりいいのでは?(^^
くっきりしてると3Dやらが安っぽいのバレるしかえっていい気がしまんこ(^^
教えて頂き感謝感謝のボッキング!(^^ なんかモデルサイズ小さくしてからキャラが竹馬に乗ってるんでふけど…(^^
ボーン狂った?(^^
今日はもう眠いけどまだ頑張りまんこ(^^
ボッキング!(^^ 僕、ツクールウディタ時代の経験上同じゲーム作りに集中できるのが1.5〜2年が限界なんでふよね(^^
そろそろMMOもエターナルかもしれまふぇん(^^
2020年までに完成させたいという気持ちはありまんこ(^^ こんな風にプレイヤーは頭、胴、腰、足に分けてありまふ(^^
https://i.imgur.com/CMcoAt0.png
前にぼっこの大師匠かワンコ大師匠が言ってた覚えがあるのでバラしまひた(^^
これで良いんでふよね?(^^ 装備中は素ボディをFalseして装備のCloneを生成(^^
外したら素ボディをTrueしてCloneを削除(^^
これでよろしいでふ?(^^ ■ このスレッドは過去ログ倉庫に格納されています