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(土) 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
俵おむすび弁当うめぇ
2017/08/26(土) 02:55:37.89ID:kHVEnKcM
ごめんなふぁい(^^
パスタ作って食べてまひた(^^
2017/08/26(土) 03:03:31.88ID:2V5kiriw
田原総一朗はもしゃもしゃ何言ってるかわからん
三浦瑠璃ってなんかいいよな
女軍団毒舌でワロタ
2017/08/26(土) 03:10:29.57ID:2V5kiriw
>>427の説明が雑すぎて動かねぇから
とりあえず>>424だけでいいよ
2017/08/26(土) 03:15:45.66ID:kHVEnKcM
ふぁい(^^
2017/08/26(土) 03:19:56.06ID:2V5kiriw
>>424もミスってんな
訂正版再掲すっからこれ以外みなくてよし


ItemManager

1 宣言するフィールド

Imageリスト
Imageプレファブ(serializeにしてインスペクタでアタッチ)
Slots
playerスクリプト

2 Start

Imageのリストを初期化
SlotsをFindで保存
playerスクリプトをgetComponentで取得

forループで100個のImageを
1) instanciate
2) setParentでSlotにセット
3) Imageリストにadd
2017/08/26(土) 03:35:23.40ID:2V5kiriw
>>427の訂正版

playerスクリプト
 itemリストを返すメソッドを作る

ItemManagerのonEnableで
 playerのitemリストを取得
 int I;
 foreachでitemリストのすべてのIDを順に調べる
   Imageリスト[i]のImageコンポーネントを取得
   Imageコンポーネントにスプライト[ ID ]を設定
I++;
2017/08/26(土) 03:36:38.58ID:2V5kiriw
飯食ったら眠くなった

寝るッ

気が向いたらまた明日だ
2017/08/26(土) 03:39:55.66ID:kHVEnKcM
1 宣言するフィールド

Imageリスト
Imageプレファブ(serializeにしてインスペクタでアタッチ)
Slots
playerスクリプト

これは宣言するフィールド
void openis ()
{
Imageリスト
Imageプレファブ(serializeにしてインスペクタでアタッチ)
Slots
playerスクリプト
}
みたいな感じでふか?(^^
2017/08/26(土) 03:56:02.46ID:kHVEnKcM
僕もねましゅ(^^
2017/08/26(土) 05:00:16.64ID:n2EF2UH/
スカイプなら3分で終わることを延々とやり続けるクソスレ
2017/08/26(土) 07:57:06.74ID:2V5kiriw
>>437

ちゃうなあ、なんでメソッドみたいになるんだ

宣言するフィールドってのは
インスタンスフィールド
インスタンス変数
C#のクラスの説明にでてくるからYOME
2017/08/26(土) 07:57:30.92ID:kHVEnKcM
皆が寝てる間僕はこれをシコシコ作ってまひた(^^
http://i.imgur.com/NJT6Mdm.png
2017/08/26(土) 07:58:58.75ID:kHVEnKcM
あぁ、フィールドでひたか(^^
クラスの中、メソッドの外のあの場所でふよね(^^
寝ぼけてまひた(^^
2017/08/26(土) 08:06:27.65ID:kHVEnKcM
イメージリストを使うには
using UnityEngine.Experimental.UIElements;
これを付ければいいんでふか?(^^
2017/08/26(土) 08:11:06.14ID:kHVEnKcM
質問ばかりで申し訳ないでふ(^^
Slots
playerスクリプト
これはどうすればいいんでひょうか?(^^
睡眠不足思考停止2bit脳じゃあ理解できまふぇん(^^
public class ItemManager : MonoBehaviour {
Sprite[] textures = Resources.LoadAll<Sprite>("ItemTityPotions");
private List<Image> ImageList = new List<Image>();
[SerializeField]
Image IMAGE;

void Start () {

}
間違ってないでふよねここまで?(^^
2017/08/26(土) 08:53:37.52ID:bchde5yg
お前が餌やったんだぞ最後まで教えろよ
2017/08/26(土) 08:54:02.49ID:2V5kiriw
だいたいあってそうだな
2017/08/26(土) 08:57:26.64ID:2V5kiriw
うーんだが
Sprite[] textures = Resources.LoadAll<Sprite>("ItemTityPotions");
これエラーにならんか?
2017/08/26(土) 09:07:38.12ID:2V5kiriw
ああなんでもない大丈夫だ俺が勘違いした

というか俺が戻ったタイミングで寝んなw
2017/08/26(土) 09:21:49.83ID:2V5kiriw
>>443は関係なしExperimenntalなんとかとかいらない

あとは大丈夫かなとりあえず
2017/08/26(土) 09:45:57.39ID:2V5kiriw
ボッキング悪いな
ちとimageリストんとこが気持ちわるいので
起きたら少し直す

あとプレイヤースクリプトのフィールドが抜けてるけど
まぁあとでまとめて説明する
2017/08/26(土) 09:52:35.08ID:3nNIs8Eb
おやおや、急にスレが伸びてると思ったら…
ボッキングよかったなぁ

そして君たち睡眠時間短すぎよ
2017/08/26(土) 12:39:56.57ID:ou/uVqq4
ところでぼっこの氏って本業ゲームプログラマーなの?
2017/08/26(土) 13:09:11.60ID:sbkt8liP
本業じゃないだろ、あれは
2017/08/26(土) 13:55:00.28ID:kHVEnKcM
寝落ちしちゃいまひた(^^
ごめんなふぁい(^^
2017/08/26(土) 14:03:31.33ID:2V5kiriw
おおおおう

えーっと
private List<Image> ImageList = new List<Image>();
はリストじゃなくて配列に

そんでStartの中身つくる
2017/08/26(土) 14:10:09.60ID:kHVEnKcM
配列とはまた新しい要素が出てきまひたね・・・(^^
こうでふか?(^^
private Image[] ImageArray = new Image[100];
2017/08/26(土) 14:11:03.95ID:2V5kiriw
それだけど
宣言だけで初期化しない
2017/08/26(土) 14:13:33.54ID:kHVEnKcM
初期化はint[] array = {0, 1, 2};これを5,6,7と淡々と続き書いていく感じでふか?(^^
2017/08/26(土) 14:16:04.40ID:kHVEnKcM
ひょっとして二次元配列を使ったほうがいいでふか?(^^
2017/08/26(土) 14:16:14.13ID:2V5kiriw
2 Start

////Imageのリストを初期化 これいらない子
SlotsをFindで保存
playerスクリプトをgetComponentで取得

forループで100個のImageを
1) instanciate
2) setParentでSlotにセット
//////3) Imageリストにadd これもいらない子
ループ終わり

ImageArray = Slotsの子要素をすべて取得 //★New!
2017/08/26(土) 14:17:11.72ID:2V5kiriw
初期化はStartの最後のNewがしてくれるから不要
2017/08/26(土) 14:29:08.29ID:kHVEnKcM
RawImage 勃起ペニスSLOT収納 = GameObject.Find("Slots").GetComponent<Slots>();
GetComponent<Slots>();のSlotsがエラー吐きまふね(^^
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が、
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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