UnityでMMO作りたいけどどうする!?(^^Part2 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/08/14(月) 14:23:16.30ID:/XfkBqs1
ここは>>1が皆ふぁんに協力してもらい、時には一人で奮闘しMMOを作るスレッドでふ(^^
Wiki
https://www65.atwiki.jp/parohaim/
前スレ
http://mevius.2ch.net/test/read.cgi/gamedev/1500187808/
2017/08/26(土) 14:30:38.71ID:2V5kiriw
・・・・

slotsはraw imageじゃないし、コンポーネントでもない
2017/08/26(土) 14:33:26.59ID:2V5kiriw
ああそうか何をしようとしてるかわかんないから無理ないのかなあ

UIとしてのSlotsを変数に保存しておく意味な

そのくっそふざけた名前の変数に(^^##
2017/08/26(土) 14:36:53.50ID:kHVEnKcM
上は解決しまひた(^^
GameObject 勃起ペニスPlayer = GetComponent<Playerbokking>();
これだとエラー吐きまふね(^^
2017/08/26(土) 14:37:33.42ID:kHVEnKcM
僕は一体どこへ向かってるんでひょうか?(^^
2017/08/26(土) 14:39:51.54ID:2V5kiriw
スクリプト(PlayerBokkingだっけ?)ってのはGameObject(ethan?)にアタッチされた"コンポーネント"
2017/08/26(土) 14:50:18.53ID:2V5kiriw
俺あと一時間くらいしか時間なく、アイコン表示ぐらいは終わらせたいので
もうちょっとヒント

欲しいのはPlayerBokking

PlayerBokkingはスクリプト(厳密に言うとpublicで宣言されたクラス)なので
ItemManagerからも見える「型」

なので
PlayerBokking bokking = イーサンどこですか(). イーサンのPlayerBokkingコンポーネントを取得

てなことを書いてやる、いつもやり忘れてnullReference出してるだろ
2017/08/26(土) 14:50:18.87ID:kHVEnKcM
http://i.imgur.com/rZ92boN.png
分からないときはコードがぐちゃぐちゃになる前に聞く(^^
これが一番大事でふ(^^
上みたいになったけどどうする!?(^^
2017/08/26(土) 14:50:55.91ID:2V5kiriw
いつも通りだなw
2017/08/26(土) 14:53:46.66ID:2V5kiriw
いくらなんでももういい加減理解しろ

GameObject hoge; と書いても、GameObject型の空っぽの箱

hoge = GameObject.Find("Ethan"); とか書いてやっとhogeという箱の中にイーサンが入る

GameObject.Findはシーン中のGameObjectを文字通り探してくる処理
2017/08/26(土) 14:53:51.06ID:kHVEnKcM
http://i.imgur.com/t68gSTH.png
こうなりまひた(^^
また未知のエラーががが(^^
2017/08/26(土) 14:54:51.99ID:kHVEnKcM
>>471
探さなきゃいけなかったんでふね(^^
最近忘れっぽくて困りまふ(^^
2017/08/26(土) 14:56:36.50ID:kHVEnKcM
無事出来まひた(^^
感謝感謝のボッキング!(^^

(前にやったことを萎びたチンコみたいに忘れるのってもう僕はだめでふね・・・)(^^
2017/08/26(土) 14:58:31.15ID:2V5kiriw
そんで
100回ループしてImageをSlotsにならべてやり、
ならべたImageを配列として取り出しておく(もうすぐ使う)
2017/08/26(土) 15:06:29.06ID:kHVEnKcM
ここがググり方が悪いのかよくわかりまふぇんでひた(^^
1) instanciate
2) setParent
2017/08/26(土) 15:09:50.73ID:2V5kiriw
そりゃタイポだw

Instantiate これは知ってるだろ

SetParent こっちはでてくるだろ
2017/08/26(土) 15:13:03.82ID:kHVEnKcM
モンスターのスポーン関係で使ったような使ってないような・・・(^^
調べてみたら何とかなりそうな気がして来まひた(^^
2017/08/26(土) 15:13:25.67ID:2V5kiriw
Slots(panel)
-Image
-Image
-....
ヒエラルキー上でこういう親子関係になると
SlotsのGrit Layout Groupが勝手にImageを並べてくれる

というのを親に指定するSetParentを使ってスクリプト上で実現している


あと30ぷーん
2017/08/26(土) 15:18:57.73ID:kHVEnKcM
for (int i = 0; i < bokkiage; i++)
{

if (bokkiage == 100)
{
Object ItemRaw1 = null;
Instantiate(ItemRaw1, new Vector3(0, 0, 0), Quaternion.identity);
break;
}
}
こうなりまひた(^^
間違ってる所はないでふよね?(^^
2017/08/26(土) 15:23:22.78ID:2V5kiriw
なんだこれ

ちょっとまて意味がわからん・・・
2017/08/26(土) 15:30:40.08ID:2V5kiriw
うわまてまてまて
ヒー
時間がないので罵倒と説教は省略しまして
ほとんどまちがってるぞ

まず100回くりかえすforループを書く

Object ItemRaw1 = null;  これいらん意味わからん
bokkiageとかいうのもいらない
if 文もいらない

作りたいのはImageのプレファブ(UI)なので
new Vector3(0, 0, 0), Quaternion.identityこんなのも関係ない
UI Instantiateとかでぐぐってでてこないか?
2017/08/26(土) 15:32:44.97ID:2V5kiriw
http://tm8r.hateblo.jp/entry/2016/04/12/202214

こんな感じのを100回くりかえす
2017/08/26(土) 15:34:57.34ID:2V5kiriw
先回りすると
gameObject.transform
これはgameObjectではなくFindしておいたSlots
2017/08/26(土) 15:47:42.51ID:kHVEnKcM
http://i.imgur.com/GwRlUQH.png
こうなりまひた・・・もう僕はダメみたいでふ・・・(^^
ぼっこの殿も出かけちゃったようでふひ(^^
しばらく頭を冷やしまひょう(^^
2017/08/26(土) 15:51:15.79ID:2V5kiriw
もうでかけるけど
forループもかけないのは限度超えてるぞ
なんのために本買ったんだ
勉強しとけ
2017/08/26(土) 16:02:32.88ID:kHVEnKcM
ふぁい(^^
今日一日かけて勉強しまふ(^^
2017/08/26(土) 16:56:41.62ID:3nNIs8Eb
正直笑ってしまったわw
for文も書けずにここまで実装できてしまうなんてやっぱりすごいのね!


ボキちゃんじゃなくて、
Unityが、
2017/08/26(土) 18:07:18.33ID:kHVEnKcM
僕の料理(^^
鶏胸肉を一口大に切りまふ(^^
バターで焦げ目がつくまで中火でこんがり焼きまふ(^^
両面焼けて来たらコショウたっぷり塩中量入れてかき混ぜて全体に塩コショウが行き渡るようにしまふ(^^
完成!(^^
これが中々おいしいんでふよ(^^
ぜひお試しあれ(^^
ボッキング!(^^
2017/08/26(土) 18:47:16.11ID:GVqikoyN
それ普通のバター焼きじゃねえか
そしてバターといったら醤油だろうが

そんなことよりfor勉強したら
さっさと作りやがれ
2017/08/26(土) 22:04:19.96ID:kHVEnKcM
寝てまひた(^^
寝る前にFor勉強して作り直しまひたよ(^^
2017/08/26(土) 22:28:22.37ID:kHVEnKcM
for (int i = 0; i < 100; i++)
{
GameObject obj = (GameObject)Resources.Load("Prefabs/ToOutSidePlate");
GameObject prefab = Instantiate(obj);
prefab.transform.SetParent(transform);

}
ここからこれをどう改変していいのやら・・・(^^
2017/08/26(土) 23:35:33.08ID:3nNIs8Eb
愛(i)とは何かね?
2017/08/26(土) 23:58:23.24ID:kHVEnKcM
int型の変数でふよ(^^
(i)←まんこみたいでふ(^^
2017/08/27(日) 00:11:32.87ID:x+sSe/+w
【悲報】ぼっこの殿、去る(^^
こうなったら自力で出来るところまでやってやりまふよ(^^
といってもモデリングくらいしかできまふぇんが(^^
スクリプト知識を深めるためにせっかく買った猫C#でも読んでみまふか(^^
2017/08/27(日) 00:36:32.32ID:x+sSe/+w
Sprite[] textures = Resources.LoadAll<Sprite>("ItemTityPotions");
この部分が赤エラー4つくらい吐いてるんでふけど原因分かる方いまふぇんか?(^^
497名前は開発中のものです。
垢版 |
2017/08/27(日) 00:40:50.48ID:zU6qDGOi
何が作りたいのかわからないけどそれで良いと思いました
2017/08/27(日) 00:47:38.97ID:x+sSe/+w
でも赤エラー4つ・・・(^^
http://i.imgur.com/4vuuXE9.png
499名前は開発中のものです。
垢版 |
2017/08/27(日) 00:57:43.04ID:zU6qDGOi
コンストラクターに書くなって言われてるけどそのコードは何処にかいているの?
2017/08/27(日) 01:01:06.86ID:x+sSe/+w
http://i.imgur.com/uRdz9TQ.png
フィールドに書いてまふ(^^
どこに移せばいいんでふか(^^
501名前は開発中のものです。
垢版 |
2017/08/27(日) 01:08:01.87ID:zU6qDGOi
Startの一番上で良いと思うけどそもそも今使ってないなら消すか
コメントアウトしといたほうが良いかも
2017/08/27(日) 01:19:56.48ID:x+sSe/+w
エラー吐かなくなりまひた(^^
感謝感謝のボッキング!(^^
あともう一つ(^^
for (int i = 0; i < 100; i++)
{
GameObject obj = (GameObject)Resources.Load("Prefabs/ItemRaw1");
GameObject prefab = Instantiate(obj);
prefab.transform.SetParent(transform);

}
ここが(^^
GameObject prefab = Instantiate(obj);
こんなエラーを吐きまふ(^^
解決方法ご教授お願いしまふ(^^
ArgumentException: The Object you want to instantiate is null.
UnityEngine.Object.CheckNullArgument (System.Object arg, System.String message) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.cs:238)
UnityEngine.Object.Instantiate[GameObject] (UnityEngine.GameObject original) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.cs:199)
ItemManager.Start () (at Assets/スクリプト/ItemManager.cs:20)
503名前は開発中のものです。
垢版 |
2017/08/27(日) 01:30:42.67ID:zU6qDGOi
うまくロード出来ないので
"Prefabs/ItemRaw1"
がResourcesの中に入っているか、綴り間違ってないか確認で
2017/08/27(日) 01:32:58.34ID:x+sSe/+w
InvalidCastException: Cannot cast from source type to destination type.
ItemManager.Start () (at Assets/スクリプト/ItemManager.cs:19)
エラー文が変わりまひた(^^
英語力がほしいでふ(^^
2017/08/27(日) 01:34:38.12ID:x+sSe/+w
出来まひた(^^
2017/08/27(日) 01:37:30.38ID:x+sSe/+w
2019年は亥年なのでイノシシにちなんだイベントキャラ、アイテムを出そうと思いまふ(^^
あと一年早く完成する予定だったら戌年でチンコ犬がイベントモンスターに出せたのに・・・(^^
2017/08/27(日) 01:48:09.65ID:x+sSe/+w
懐かしい画像が出てきまひた(^^
といっても1ヶ月くらい前でふけど(^^
http://i.imgur.com/NKjZI4v.png
このころはまさか製作がここまで進むとは思いまふぇんでひた(^^
皆様に感謝感謝のボッキング!(^^
2017/08/27(日) 02:03:15.85ID:p7p4ha29
アーリーアクセスで使ってもいいのよ
ワンコ
2017/08/27(日) 02:08:07.02ID:x+sSe/+w
チンコ犬を出すとしたらやっぱりモンスターでひょうか?(^^
2017/08/27(日) 02:10:06.82ID:+LtuPRMJ
おいこら
forのとこどうなった?
2017/08/27(日) 02:34:55.27ID:x+sSe/+w
void Start () {
Sprite[] textures = Resources.LoadAll<Sprite>("ItemTityPotions");
GameObject 勃起ペニスSLOT収納 = GameObject.Find("Slots");
Playerbokking bokking = GameObject.Find("Ethan").GetComponent<Playerbokking>();
for (int i = 0; i < 100; i++)
{
GameObject obj = (GameObject)Resources.Load("ItemRaw1");
GameObject prefab = Instantiate(obj);
prefab.transform.SetParent(transform);

}
}
こうなりまひた(^^
2017/08/27(日) 02:39:04.29ID:+LtuPRMJ
prefab.transform.SetParent(Slotsを格納した変数名.transform);

こうだな
2017/08/27(日) 02:40:41.27ID:+LtuPRMJ
この状態で実行するとImageが自動的に並ぶようになったか?
2017/08/27(日) 02:50:30.10ID:x+sSe/+w
ごはん中・・・しばし待たれよ(^^
2017/08/27(日) 02:56:03.31ID:x+sSe/+w
こうなりまひた(^^
http://i.imgur.com/y3uCnvT.png
Imageが自動で並ぶように!?(^^
2017/08/27(日) 02:56:58.22ID:+LtuPRMJ
さようか

ちょっとこの一連の作業を補足しておくと
普通に所持アイテムを並べるだけならもっと簡単にできるが
未来のアイテムの配置換えを考慮して
Slotsに事前に100個のイメージを配置しておくという処理をしている

まだ今の時点だとアイコンは表示されない
2017/08/27(日) 02:58:51.08ID:+LtuPRMJ
んー?w

なんか余計なことやったな?w
2017/08/27(日) 02:59:11.48ID:x+sSe/+w
つまり収納したアイテムのIDによってアイコンが変わる感じでふね(^^
アイコンはたくさん作ったのでドンとこいでふ(^^
2017/08/27(日) 02:59:41.92ID:x+sSe/+w
余計なことってなんでひょうか?(^^
2017/08/27(日) 03:00:09.35ID:+LtuPRMJ
だいたい想定通りではあるが
さすがにエスパーじゃ無理だ
今の状態のプロジェクトアップしてくれ
2017/08/27(日) 03:01:46.10ID:+LtuPRMJ
この場合は
アイテムID0は空っぽ画像、何もしないアイテムにした方がいいな
2017/08/27(日) 03:02:47.67ID:x+sSe/+w
ちょっと待っててくらふぁい(^^
うpに時間がかかりまふ(^^
2017/08/27(日) 03:05:47.71ID:x+sSe/+w
https://www.axfc.net/u/3838986/%EF%BC%AD%EF%BC%AD%EF%BC%AF
2017/08/27(日) 03:06:51.44ID:+LtuPRMJ
でも
for文書けるようになったんだから前進したな
真面目な話
2017/08/27(日) 03:09:12.45ID:x+sSe/+w
前は書けたのでふが(^^
単純に忘れっぽいだけだと思いまふ(^^
例の [SerializeField]で下の二個を指定する方法も忘れちゃいまひたひ(^^
なーんか最近忘れっぽいでふ(^^
2017/08/27(日) 03:10:12.26ID:x+sSe/+w
PC再起動してまふぇんけどちゃんと全部入ってまひたか?(^^
2017/08/27(日) 03:10:36.89ID:+LtuPRMJ
[SerializeField]
int a, b;

とかこんなん?
2017/08/27(日) 03:11:09.84ID:x+sSe/+w
そんな感じでひたっけ?(^^
多分そうでふ(^^
2017/08/27(日) 03:11:13.48ID:+LtuPRMJ
インポート中
全部かは判断つかんが
2017/08/27(日) 03:18:29.48ID:+LtuPRMJ
うーんカオスw

ばぐってんのかなあ
まぁ意味はわかったからいいや

SlotsのRectTransformの左下にstretchとか縦横に書いてあるアイコンあるか?
2017/08/27(日) 03:20:09.84ID:x+sSe/+w
ありまふ(^^
2017/08/27(日) 03:22:01.86ID:+LtuPRMJ
そっちだと
>>515
みたいにならんでるんだよな?

こっちはかなりおかしなことになってるが
うまく動いてるならとりあえずさわらないでおこう
そんで、Imageのspriteの指定ははずしておく
2017/08/27(日) 03:23:10.23ID:+LtuPRMJ
slotsに並べるImageプレファブのデフォルト画像の話な
2017/08/27(日) 03:26:52.45ID:x+sSe/+w
イメージ画像かなり適当に選んでたんでふけど(^^
透明な画像にしたほうがいいでふか?(^^
2017/08/27(日) 03:28:24.57ID:+LtuPRMJ
いまははずしておいていいや
白アイコンとかになるんだろ、その方が問題がわかりやすいから
とりあえず次すすむ
2017/08/27(日) 03:30:08.51ID:+LtuPRMJ
ItemManagerの
昨日いったけどImageArrayは宣言時点では初期化しないので

private Image[] ImageArray = new Image[100];   ×
private Image[] ImageArray; ◯
2017/08/27(日) 03:31:32.37ID:x+sSe/+w
出来まひた(^^
2017/08/27(日) 03:33:04.01ID:+LtuPRMJ
おいいいいいいいいい

GameObject Slotsを格納した変数名;
なんだよこれ ><

ほんとにちゃんと動いてるこれ?

prefab.transform.SetParent(勃起ペニスSLOT収納.transform);

こうじゃないのか?
2017/08/27(日) 03:36:10.91ID:x+sSe/+w
変えてきまひた(^^
2017/08/27(日) 03:38:41.20ID:+LtuPRMJ
うーむ
こっちの手元のプロジェクトみると正常に動作するとは思えないが
インポート的な問題かもしれないので
動いてるならすすめるか
2017/08/27(日) 03:39:39.69ID:x+sSe/+w
プロジェクトってエクスポートじゃなくてファイル丸ごとうpしちゃいけないんでふか?(^^
2017/08/27(日) 03:44:09.62ID:+LtuPRMJ
どうだろうなあ
自分の環境ではバックアップのときよくやるけど
他人の環境でうごくともかぎらないし、サイズかなりでかいと思うよ
2017/08/27(日) 03:45:55.12ID:+LtuPRMJ
悪いな、ちょっとまってくれ・・・
このあとの説明を検討中
2017/08/27(日) 03:47:44.90ID:+LtuPRMJ
ええとな
forループ終わったあとに

Slotsに設定された子要素をGetComponentsInChirdrenての使って
ImageArrayに格納してください
2017/08/27(日) 03:52:17.99ID:x+sSe/+w
ImageArray = GetComponentsInChildren(ItemRaw1(Clone));
これだとエラー吐きまふね(^^
もうちょっと調べてみまふ(^^
2017/08/27(日) 03:59:58.34ID:x+sSe/+w
分かりまふぇんでひた(^^
ヒントくらふぁい(^^
2017/08/27(日) 04:00:53.96ID:+LtuPRMJ
あー悪い
これはステップとばしちゃってるな

いまんとこの前に
Imageのプレファブに新しいスクリプトをつけまっす

その中に
int id;
を宣言します

そんでさっきのとこに
ImageArray = Slots.GetComponentsInChildren<子要素のスクリプト名> ();
と書きます
2017/08/27(日) 04:03:02.22ID:+LtuPRMJ
ごめん、int id; じゃなくて

public int id{ get; set; }

こうしといて

説明ははぶきます
2017/08/27(日) 04:07:39.62ID:+LtuPRMJ
子要素のスクリプト名
これはプレファブにつけたスクリプト名(クラス名)な
2017/08/27(日) 04:08:43.80ID:x+sSe/+w
ふぁい(^^

Slotsがエラー吐きまふ(^^
なぜでひょう?(^^
2017/08/27(日) 04:10:16.38ID:+LtuPRMJ
このあたりは下準備なので見た目の変化はないはず
ここまで実行できたら

playerスクリプトに
 itemリストを返すメソッドを作る&#160;

ItemManagerのonEnableで&#160;
 playerのitemリストを取得&#160;(イーサンにお願いする)
 int I = 0;&#160;
 foreachでitemリストのすべてのIDを順に調べる&#160;
   Image配列[i]のImageコンポーネントを取得&#160;
   Imageコンポーネントにスプライト[ ID ]を設定&#160;
   Image.id = ID
   I++;
 ループ終わり

で、アイテム拾ってメニュー開くと画像がでるように
2017/08/27(日) 04:11:52.27ID:+LtuPRMJ
ああw
それは変数名かえてくれ
勃起なんとかって

というか変数名ちゃんと考えてつけてないから
こっちも混乱するしボッキング自身にもわかりづらいんだぞ
2017/08/27(日) 04:14:40.65ID:x+sSe/+w
暗黙的に変換できまふぇんが出まひた(^^
どんどん壊れていきまふ(^^
2017/08/27(日) 04:17:33.48ID:x+sSe/+w
ImageArray = Slots.GetComponentsInChildren<IDsengen>();
これで間違ってまふぇんよね?(^^
2017/08/27(日) 04:17:56.44ID:+LtuPRMJ
とりあえず
もうこの
勃起ペニスSLOT収納
って変数名
Slotsに直しな

ふざけた名前つけても作業滞る以外の効果ないから
2017/08/27(日) 04:18:58.78ID:x+sSe/+w
直しまひた(^^
2017/08/27(日) 04:21:26.47ID:+LtuPRMJ
エラーなくなったかね?
2017/08/27(日) 04:22:59.62ID:x+sSe/+w
なくなりまふぇんでひた(^^
http://i.imgur.com/OlUAc9n.png
2017/08/27(日) 04:24:11.47ID:p7p4ha29
>>515
多分画像のインポート設定が原因よ
前にみたときにwrap modeがrepeatになってたわ
2017/08/27(日) 04:25:36.52ID:+LtuPRMJ
ItemRaw1にIDSengeってスクリプトアタッチしてるんだよな?
2017/08/27(日) 04:29:41.18ID:x+sSe/+w
してまふよ(^^
>>559
なるへそ(^^
弄ってきまふ(^^
2017/08/27(日) 04:30:26.54ID:x+sSe/+w
>>559
って515は何の問題もありまふぇんよ(^^
2017/08/27(日) 04:32:17.41ID:+LtuPRMJ
ああわかった
ItemRaw1[] ImageArray;


ImageArray = Slots.GetComponentsInChildren<ItemRaw1> ();
こうかな

ちとこれは俺がまちがった
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況