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/25(金) 22:28:05.57ID:PPVko2ka
>>328
ありまふよ(^^
そこにIDちょうだいを書けばいいんでふね?(^^
2017/08/25(金) 22:30:51.87ID:v5lI4Ey9
そうそう
2017/08/25(金) 22:33:55.22ID:PPVko2ka
頑張ってみまふ(^^
2017/08/25(金) 22:35:18.15ID:v5lI4Ey9
つっても絶対書けないんだろうなと予想するが...

過去に書いたような処理なんだから
書けないんじゃおかしいんだぞ

アイテムさんにお願いするんだぞ
ってフレーズ知ってるだろ

もらったIDをリストに登録する (>>323の3〜4ステップ)
2017/08/25(金) 22:36:15.66ID:v5lI4Ey9
あれ文字化けしたかな
>>323の3と4のステップな
2017/08/25(金) 22:36:45.22ID:PPVko2ka
target.GetComponent<Playerbokking>().Playerdamaged(モンスターの攻撃力);
これを改変して使うんでふよね?(^^
なんとなくわかりまひた(^^
ちんぽこぽーん(^^
2017/08/25(金) 22:40:56.01ID:PPVko2ka
if (dis < AttackRange)
{
target.GetComponent<ItemTest>().アイテムIDかえす();
Destroy(target);

}
こうでふか?(^^
2017/08/25(金) 22:42:15.52ID:v5lI4Ey9
いまちょっとほっとした

というか理解するのおせーわ!!
2017/08/25(金) 22:48:44.05ID:PPVko2ka
リストは僕にとって未知の要素なのでググってまふ(^^
しばし待たれよ(^^
2017/08/25(金) 22:54:49.96ID:PPVko2ka
private List<int> intList = new List<int>();

if (dis < AttackRange)
{
target.GetComponent<ItemTest>().アイテムIDかえす();
intList.Add(1);
Destroy(target);

}
ここまでエラー無く書けまひた(^^
次はどうすればいいんでふか?(^^
2017/08/25(金) 22:57:21.78ID:v5lI4Ey9
UI

こっから説明大変なんだよなあ
まじで本書けるレベル...

1
アイテムメニュー画面にpanelを追加しSlotsなどの名称にして
アイテムが並ぶ外枠と同じぐらいの大きさに調整


SlotsにGritLayoutGroupコンポーネントを追加し
cell sizeをアイテムアイコンの大きさぐらいに調整

3
テストでSlotsの子供にImageオブジェクトを複数追加し
想定通りに並ぶように
cell sizeとSlotsの大きさを調整し、調整が終わったらImageをプレファブ化して
一度全部消しておく

ステップ238までつづく・・・・
2017/08/25(金) 22:58:27.15ID:v5lI4Ey9
なんとでけちゃったの?
予想外
説明がおいつかんのはそれはそれで困るな・・・w
2017/08/25(金) 23:01:11.85ID:v5lI4Ey9
ところでよう
アイテムメニューって通常はsetActive(false)で
呼び出すときsetActive(true)とかしてるんけ?
2017/08/25(金) 23:04:44.28ID:PPVko2ka
public void itemMenu()
{
menuFrame.enabled = itemBoxes.enabled = !menuFrame.enabled;
if (menuONOFF == true)
{
menuFrame.enabled = true;
itemBoxes.enabled = true;
zX1Y1.enabled = true;
menuONOFF = false;
}
else
{
menuFrame.enabled = false;
itemBoxes.enabled = false;
zX1Y1.enabled = false;
menuONOFF = true;
}
こんな感じでふ(^^
2017/08/25(金) 23:07:15.44ID:v5lI4Ey9
ああ
ok
itemBoxesって俺っぽいな
これpanelかね?
2017/08/25(金) 23:10:34.70ID:v5lI4Ey9
あれでも俺教えてねぇか
わかんねぇな

BoxesてのがpanelならSlotsで読み替えればよし
zX1Y1.enabled = false;  これは俺意味わかんねぇからとりあえず放置
2017/08/25(金) 23:13:56.37ID:PPVko2ka
BoxesはおそらくRaw Imageでふよ(^^
ほんとの所僕でもどこをどう呼び出してるのかわかりまふぇん(^^
2017/08/25(金) 23:16:58.01ID:v5lI4Ey9
raw imageはだめだ
どっかに避けとく

cell size確定したら起こして
2017/08/25(金) 23:25:23.85ID:PPVko2ka
SlotsにGritLayoutGroupコンポーネントを追加し
cell sizeをアイテムアイコンの大きさぐらいに調整

ここで詰んでまふ(^^
Cell Sizeをいじっても大きさが変わりまふぇん(^^
2017/08/25(金) 23:33:30.46ID:v5lI4Ey9
うーんと
いろいろありえんだけど

cell sizeは分割したサイズなので見た目かわんねぇから
イメージを子供に追加してちょっと移動してやるとスナップしねぇかな
2017/08/25(金) 23:36:41.94ID:v5lI4Ey9
ヒエラルキーでいうとこういう並びにしてやる
Slots
---Image
---Image(1)
....

こういう感じに
2017/08/25(金) 23:37:03.44ID:PPVko2ka
http://i.imgur.com/g2z3Ddy.png
出来てまひた(^^
2017/08/25(金) 23:39:04.05ID:v5lI4Ey9
どないやねん!!

そんでまぁたくさんならべてテストするとして、
spriteのsliceってやり方わかるか?
というかもうなってんのかなiconのイメージ画像
2017/08/25(金) 23:41:57.94ID:PPVko2ka
Spriteってどこにありまふか?(^^
2017/08/25(金) 23:42:05.26ID:v5lI4Ey9
さらっとスルーしてたけど
>>339まちがってんじゃねーか!

入手したIDをaddしろっつーの
2017/08/25(金) 23:43:26.41ID:v5lI4Ey9
え、そこから...?か...? はて

pngとか画像類をインポートしてTexture typeをsprite(UI なんとかかんとか
に変更でスプライト
2017/08/25(金) 23:46:50.90ID:PPVko2ka
出来まひた(^^
感謝感謝のボッキング!(^^
2017/08/25(金) 23:48:23.40ID:v5lI4Ey9
まてまて
まだ全然おわってねぇぞw
おねむか?
2017/08/25(金) 23:49:16.51ID:v5lI4Ey9
>>339の修正おわったら
cell sizeを報告せよ
2017/08/25(金) 23:50:30.80ID:PPVko2ka
http://i.imgur.com/Cxp9bE0.png
どこでIDを入手しまひたっけ?(^^
2017/08/25(金) 23:55:43.01ID:v5lI4Ey9
うへへへへへへ・・・
おまえはなにをいってるんだ・・・
俺が発狂するわ・・・
アイテムさんにチョウダイしたコードはどこにあるんだ・・・
2017/08/25(金) 23:58:21.99ID:PPVko2ka
target.GetComponent<ItemTest>().アイテムIDかえす();
これでふか?(^^
2017/08/26(土) 00:00:59.71ID:2V5kiriw
そのコードは飾りなのか、IDをくれるのか
ダメージのやりとりとか
2017/08/26(土) 00:05:35.13ID:kHVEnKcM
頭が混乱して来まひた(^^
僕は何を作りたかったのでひょうか?(^^
2017/08/26(土) 00:09:05.69ID:2V5kiriw
あほー;;

targetなんちゃらかんちゃらは
「アイテムさん、あなたのスクリプトの、IDを返す関数を実行してね」
なんだから、この処理は全体としてIDを返してくるんだよ

int id = target.....

と書いてやればID保存できるだろ

っていうか勉強しろおまえというやつは!!!
2017/08/26(土) 00:12:26.11ID:kHVEnKcM
呼び出せないと言われたので(^^
int ID;をstatic public int ID;に変更しまひた(^^
問題ありまふぇんか?(^^
2017/08/26(土) 00:16:31.74ID:2V5kiriw
いやーそりゃコメントしづらいな
そりゃあ動くけど
ここまでの苦労が水の泡ではないか・・・
2017/08/26(土) 00:18:31.90ID:kHVEnKcM
じゃあどうすればよかったのでひょう?(^^
僕は混乱のあまりチンコが固いでふ(^^
2017/08/26(土) 00:20:12.36ID:2V5kiriw
>>364
読んでまじで理解不能なのか?
2017/08/26(土) 00:21:39.03ID:kHVEnKcM
出来まひた(^^
感謝感謝のボッキング!(^^
2017/08/26(土) 00:27:03.68ID:kHVEnKcM
無事、アイテムの収納ができた次は何をするのでひょうか?(^^
2017/08/26(土) 00:28:31.91ID:2V5kiriw
うーんほんまかいな

ちと夜もふけてきたのでとりあえずすすめるが
cell sizeがいくつだって?
2017/08/26(土) 00:29:18.50ID:kHVEnKcM
10*10でジャストフィットしまふよ(^^
2017/08/26(土) 00:29:54.31ID:2V5kiriw
そんなちっこいの?
ええ?cell sizeだぞ?
2017/08/26(土) 00:35:41.86ID:kHVEnKcM
100だとこうなりまふ(^^
http://i.imgur.com/cIxM6ZK.png
10以下(5)だとこうなりまふ(^^
http://i.imgur.com/4RQQjjK.png
2017/08/26(土) 00:39:32.87ID:2V5kiriw
それスケール4倍にしてるからじゃねぇか?
2017/08/26(土) 00:42:21.90ID:kHVEnKcM
スケール一倍にしまひた(^^
次はどうすればいいんでひょう先生!(^^
2017/08/26(土) 00:44:03.49ID:2V5kiriw
サイズはいくつになったんだーこのやろう
40x40か?
2017/08/26(土) 00:46:31.41ID:kHVEnKcM
40*40にしたらこうなりまひた(^^
http://i.imgur.com/ncV1m1s.png
サイズはあってまふがずれてまふね(^^
大きさってどこで変えるんでひたっけ(^^
2017/08/26(土) 00:49:20.67ID:kHVEnKcM
変わりまひた(^^
2017/08/26(土) 00:50:05.15ID:2V5kiriw
ああ
なんでこうなってるかわかった

アンカーのプリセットアイコンを左上とかに設定してみれ
いま伸縮タイプなってんだろう
2017/08/26(土) 00:51:12.48ID:2V5kiriw
いまのはSlotsの話な
2017/08/26(土) 00:54:52.55ID:kHVEnKcM
特に問題なく機能してるように見えまふが(^^
これじゃあ駄目なんでふか?(^^
http://i.imgur.com/cReD4JP.png
2017/08/26(土) 00:57:19.51ID:2V5kiriw
ちっと判断つきにくいが想定通り動きゃいいよ

さてボッキングくん
インベントリの基本的な実装はいま進捗何パーセントぐらいだとおもう?
2017/08/26(土) 00:58:01.45ID:kHVEnKcM
13%くらいでふか?(^^
2017/08/26(土) 01:00:45.81ID:2V5kiriw
あー低めにみつもったな

まぁ25%ぐらいかな

>>340の3まですすめて
2017/08/26(土) 01:04:00.90ID:2V5kiriw
そしたら
40x40の倍数の大きめの画像作る
これをアイコンイメージにする
例えば400x360とか
この場合90種類のアイコンを一枚の画像に書く意味
2017/08/26(土) 01:05:43.04ID:kHVEnKcM
イメージをプレファブ化は一つプレファブ化すればいいんでふか?(^^
それとも10*10の100個プレファブ化?(^^
2017/08/26(土) 01:05:54.53ID:2V5kiriw
この仮のアイコンイメージ画像に
ざっとA B Cとか
三種類ぐらいでいいので40x40サイズの文字なりへな絵なりを書いておいて
インポートし、スプライトに設定してテストする
2017/08/26(土) 01:06:42.08ID:2V5kiriw
イメージ一個
2017/08/26(土) 01:08:19.37ID:kHVEnKcM
ふぁい(^^
ちょうど前作ったアイテムアイコンが40*40でひた(^^
http://i.imgur.com/rNGdcy3.png
2017/08/26(土) 01:10:18.03ID:2V5kiriw
ボッキングが折れるかインベントリの基本実装が終わるまでは付き合うが
若干俺が寝ぼけてきている...

このあと僕はなにをするんでひたっけ?

ああそうかスライスか
2017/08/26(土) 01:11:07.21ID:2V5kiriw
おまいも寝ぼけてんのかな・・w

その倍数のサイズの画像だぞ?
2017/08/26(土) 01:13:17.11ID:2V5kiriw
まぁそれ編集してでっかくすればいいな

ああ、なんかほら
ツクールとかでもこの手の画像を一枚にまとめてあつかったりするだろ?
いわゆるスプライトアトラスってやつ
2017/08/26(土) 01:13:41.50ID:kHVEnKcM
http://i.imgur.com/fAvlc9y.png
こんな感じでふか?(400*360)(^^
2017/08/26(土) 01:14:00.57ID:2V5kiriw
テクスチャアトラスっていうほうが普通か
2017/08/26(土) 01:14:22.64ID:2V5kiriw
それそれそれ
2017/08/26(土) 01:15:02.85ID:2V5kiriw
もう一個ぐらい
文字でもかいといて
それいんぽーとしてspriteにして
2017/08/26(土) 01:16:55.39ID:kHVEnKcM
ちょっと待っててくらふぁい(^^
ファイアアルパカのグリッドってどこで数値変えるか調べてきまふ(^^
2017/08/26(土) 01:17:11.53ID:2V5kiriw
そのスプライトモードをmultipleにして
sprite editor起動
apply
2017/08/26(土) 01:19:17.58ID:2V5kiriw
スプライトエディタのsliceってメニューがあるから
それおしてtypeを
grid by cell size
2017/08/26(土) 01:19:42.45ID:kHVEnKcM
ファルパカって普段お絵かきにしか使わないんでふけど(^^
グリッドのサイズ変えられないんでふね(^^
ビックリしまひた(^^
2017/08/26(土) 01:20:29.45ID:2V5kiriw
そんでpixcelサイズを40x40でslice
2017/08/26(土) 01:22:43.63ID:2V5kiriw
そんでエディタ閉じるとapplyで確定して
spriteが分割されるのでこれを
Resourcesっていう特殊名のフォルダ作ってその中にいれておく
2017/08/26(土) 01:26:13.08ID:2V5kiriw
ここまでできたら俺の夜食用意して
2017/08/26(土) 01:27:44.55ID:2V5kiriw
あーファイアアルパカってそんな略し方するのか
へーぐりっどかえらんないの
2017/08/26(土) 01:29:31.48ID:kHVEnKcM
ここまで出来まひた(^^
お夜食の粗茶でふ ^^)つ旦
2017/08/26(土) 01:31:00.41ID:2V5kiriw
ほう
くいものではないとはなかなか

そしたら次スクリプト
アイテムメニューUIにスクリプトつける
名前はItemManagerとかinventryManagerとかなんとか
2017/08/26(土) 01:33:26.80ID:2V5kiriw
そいでなあ
前置きが長くてもあれだが
ボッキングにはちょっと難しくなるかもだから
ちょっと気合いいれろで

まず、このスクリプトでResourcesからスプライトをloadする
やり方わかるか?
2017/08/26(土) 01:34:26.93ID:kHVEnKcM
分かりまふぇん(^^
410名前は開発中のものです。
垢版 |
2017/08/26(土) 01:35:55.06ID:2V5kiriw
じゃあResources.LoadAllでぐぐって

俺は続きの説明しておく
2017/08/26(土) 01:36:13.38ID:2V5kiriw
あちゃー。。。
2017/08/26(土) 01:40:16.60ID:kHVEnKcM
GameObject[] textures = Resources.LoadAll("Textures");
これを使えばいいんでふか?(^^
2017/08/26(土) 01:44:33.56ID:2V5kiriw
ああ、そうそうそんなやつ
2017/08/26(土) 01:45:17.79ID:2V5kiriw
GameObjectじゃなくて Sprite[] で
2017/08/26(土) 01:46:34.93ID:kHVEnKcM
Castが不足してないか云々言われまひた(^^
2017/08/26(土) 01:49:16.01ID:2V5kiriw
Resources.LoadAll<Sprite>
ジェネリック
2017/08/26(土) 01:50:37.13ID:2V5kiriw
ぐあ・・・説明全部消えた

俺さん死亡
2017/08/26(土) 01:51:15.38ID:kHVEnKcM
()の中はスプライト化した画像でいいんでふよね?(^^
2017/08/26(土) 01:51:59.93ID:2V5kiriw
そうそう
2017/08/26(土) 01:54:08.77ID:2V5kiriw
ソース貼っちゃおうか、もう俺がつらいだけじゃん
だがそれじゃあボッキングの勉強にならないじゃん
という謎の葛藤
貼らない
だが死亡

ボッキング眠くなんないの?寝たらもう教えないけどね!
2017/08/26(土) 01:58:11.53ID:kHVEnKcM
このまま4時までぶっ通すつもりでふ(^^
2017/08/26(土) 01:59:14.42ID:2V5kiriw
おう
4時までじゃおわんないけどな!
2017/08/26(土) 02:06:24.78ID:kHVEnKcM
それでは続きを作りまひょう(^^
2017/08/26(土) 02:13:49.23ID:2V5kiriw
ItemManager

1 宣言するフィールド

Imageプレファブ用のリスト
serializeでImageプレファブをアタッチ
UIのSlot
playerのスクリプト

2 Start
SlotsをFindで保存
playerのスクリプトをgetComponentで取得
forループで100個のImageを
1) instanciate
2) setParentでSlotにセット
3) リストにadd
2017/08/26(土) 02:23:43.93ID:kHVEnKcM
情報量多いでふね(^^
頭ぱっぱらぱー(^^
2017/08/26(土) 02:24:12.16ID:kHVEnKcM
一つずつやっていきまひょう(^^
2017/08/26(土) 02:26:52.86ID:2V5kiriw
playerスクリプト
 itemリストを返すメソッドを作る

ItemManagerのonEnableで
 playerのitemリストを取得
 foreachでitemリストのIDを調べる
   Imageの配列のImageコンポーネントを取得
   Imageコンポーネントにスプライト[ ID ]を設定

ここまで書くと手持ちのアイテムがメニューに表示されるようになる
と俺の寝ぼけた脳内では結論している
2017/08/26(土) 02:29:34.26ID:2V5kiriw
この説明でボッキングができるとは思っていないので
というかボッキングじゃなくても酷なので
補足はするがちょっとQKするっていうかおにぎり買いにいってきます。。。
とりあえずやれるだけやってみるよろし
2017/08/26(土) 02:48:23.61ID:2V5kiriw
俵おむすび弁当うめぇ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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