八角家ラボ
ゲーム製作サークル「八角家」の案内板でございます。(18歳未満の閲覧禁止!)
Entries
問題児


「見たまえ。これこそがUnityのUI最大の問題児『ScrollView』だ」
―――――――――――――――――――――――

「スクロールビュー?」
―――――――――――――――――――――――

「このパネルの右と下にスクロールバーが見えるだろう? つまり、このパネル上のコンテンツは縦横にスクロールして表示されるということだ。RPGのようにアイテムがたくさん登場するゲームではこのUIが必修科目になる」
―――――――――――――――――――――――

「おおお、つまりスクロールビューを使えばRPGツクールみたいなアイテム表示ができる――」
―――――――――――――――――――――――

「……と思っていたのか?」
―――――――――――――――――――――――

「そら氏?!」
―――――――――――――――――――――――

「残念ですがScrollViewにはコンテンツを縦横にスクロールする機能しかありません」
―――――――――――――――――――――――

「スクロール、だけ?」
―――――――――――――――――――――――

「スクロールだけ」
―――――――――――――――――――――――

「えっと……RPGツクールとかだとメニュー画面からアイテムにカーソルを合わせてZキーを押すとそのアイテムが使えて……」
―――――――――――――――――――――――

「そんなものはない。なんならアイテムの数はおろか何を表示するか、カーソルを合わせる機能すらデフォルトでは存在しません。ただ項目をスクロール表示するだけです」
―――――――――――――――――――――――

「それってそもそも何に使えるんですかね、逆に」
―――――――――――――――――――――――

「さぁ……長文あらすじをマウスでスクロール表示するくらいでしょうか」
―――――――――――――――――――――――

(長文表示の例。もちろんこのままでは何の機能もない。ただ文章が読めるだけ)

「つーわけでまずは枠の中に項目を作るぞ。とりあえず表示するものを並べないとはじまらねぇ」
―――――――――――――――――――――――


「で、このままだと単に文字が表示されるだけ。こいつらに『選択できる』概念をつけるぞ。Selectableと呼ばれるやつだ。あとは選択できるようになっても選択されていることが分からないんじゃ使えないので、選択されたときにカーソルが表示されるようにする」
―――――――――――――――――――――――


「これでマウスでスクロールしてアイテムが選択できるようになったね」
―――――――――――――――――――――――

「べいべいさんお忘れですか? 今作ではマウスは……」
―――――――――――――――――――――――

「あッ――!! そうじゃん、今作マウス操作じゃないじゃん。ツクールみたいに十字キーで選べるようにしないと。ということはScrollViewの設定で十字キー入力が出来るようにして……」
―――――――――――――――――――――――

「そんなものはない」
―――――――――――――――――――――――

「えっ」
―――――――――――――――――――――――

「ScrollViewは本来マウス操作を前提とした機能です。十字キーでスクロールさせる場合は『一番下に見えている項目のさらに下を選択したら1項目分だけ上にスクロールさせる』スクリプトを自分で書かなければいけません」
―――――――――――――――――――――――

「ウッソでしょ?!!!?!」
―――――――――――――――――――――――

「死ぬほど面倒くさいが、一番下のさらに下、一番上のさらに上を選択したときにスクロールする処理を書くぞ。下にスクロールした後にひとつ上の項目に戻っても、また一番上が選択されるまでは勝手にスクロールしないように例外処理も含める。んで更に今後項目が増える可能性もあるから項目の最大数が変更になっても簡単な打ち換えだけで対応できるような書き方にする。ウィンドウの体裁も横二段にして整えよう」
―――――――――――――――――――――――


「ぜぇぜぇ……」
―――――――――――――――――――――――

「これでとりあえず項目を選択していってスクロールする機能はできたな」
―――――――――――――――――――――――

「あとはえっと――プレイヤーが持ってるアイテムがこの項目に表示されればいいんですね!」
―――――――――――――――――――――――

「そうだ。どんなふうに表示してほしい?」
―――――――――――――――――――――――

「それはこう、ツクールみたいに?」
―――――――――――――――――――――――

「アイテムのID順に1個以上持っているアイテムのみを項目の上から詰めて表示していく――というわけだな。
じゃあ項目のスクリプトにそう書いていくぞ。まず一番左上の項目に表示するアイテムを調べる、1個以上持ってるアイテムでID順に一番若いものを表示して、同じ処理を残りのすべての項目で反復する」
―――――――――――――――――――――――

「えっと、アイテムを1個以上持っているかどうかはif文で調べるから、IDの一番若い『ヨモギ』を持っていればそれを一番左上に表示。アレ? でも同じ処理を2つ目の項目で繰り返すと同じ『ヨモギ』が表示されちゃう、というかアイテム欄が全部『ヨモギ』になっちゃう?
ということは2つ目の項目以降は2番目のIDの『エビヅルムシ』の数から調べて……って、それじゃ1つ目でそもそも『ヨモギ』を持っていなかった場合の表示がおかしくなっちゃう。
アレ? んん……? ンンン?????????????」
―――――――――――――――――――――――

「ツクールみたいに表示するアルゴリズムって考えると地味に難しいよな」
―――――――――――――――――――――――

「今回は二重for文を使ってアイテムID×表示項目数でガーっと調べるとしよう。ついでに名前のケツにアイテムの所持数も表示しよう、ツクール的に」
―――――――――――――――――――――――


「これですよ、これこれ」
―――――――――――――――――――――――

「それにしても、ここまで苦労してようやく作れるアイテム欄がツクールでは初めから用意されているとなると、いよいよUnityで作る意味とは? となりますね」
―――――――――――――――――――――――

「言うな。正直もっと簡単に実装できる方法を知ってる人がいたらぜひ教えて欲しい……」
―――――――――――――――――――――――

イラストは弾丸猫様

「さて、今作最後の重要なサブキャラクター『九曜』(くよう)さんです。准三宮という朝廷のとても偉い位の人で、寺社の僧侶達を従えて虫退治を行っています。
雰囲気から分かるかもしれませんが今作の敵勢力のキャラクターです。ただ九曜さんの方はハチナさんを仲間に引き入れたいらしく、ことあるごとにハチナさんにちょっかいを出してきます」
―――――――――――――――――――――――

「今回ハチナちゃんへのラブが重い人多くないですかね」
―――――――――――――――――――――――

「ちょっと待てよ? ハチナちゃんは薬と薙刀で虫退治をしてるんだろ、なんで同じ虫退治をしてる九曜が敵なんだ?」
―――――――――――――――――――――――

「気付いてしまいましたか……」
―――――――――――――――――――――――


「うおっ、過去最大級に伏字がっ」
―――――――――――――――――――――――

「村にいるもの……なんだ?」
―――――――――――――――――――――――

「後半はフェラチオorイラマチオっぽいですよね、5文字ですし」
―――――――――――――――――――――――



「ほしい?」
―――――――――――――――――――――――

「ミッションマーメイデンの時と違ってScrollViewの力を得たじゃじゃ姉さんならいけます」
―――――――――――――――――――――――

「よし、アイテムメニューのシステムをコピペだ!」
―――――――――――――――――――――――


「性的トラウマ、いいですね。すごく味わい深いのですが、もし実装するなら特定の一種類の敵だけに付いてほしい気持ちはあります。最終的に全部の敵がトラウマの対象になってしまうとそれはもう敵全般恐怖症なので、本来強いはずなのにある特定の敵にだけ苦手意識があるという倒錯感が薄れてしまう気がするんですよね。ですから『直近10回のH相手のうち最も回数の多い敵で且つその敵の拘束が延べ15回以上の時にトラウマが付く』とか良さそうな気がします。
直近10回にするのはある敵のH回数が300回とか突出して増えてしまった時に、他の敵にトラウマを移す作業が大変になりそうなので」
―――――――――――――――――――――――

「あー……もう一回言ってくれ」
―――――――――――――――――――――――


「エッティ成分を振りまく男根とかもう現実に存在する触手だよな」
―――――――――――――――――――――――

「MOTHER2みたいに頭に生えてふしぎなきもちになるパターンも好きです。植物と触手のいいとこ取りみたいなシチュエーションの広さがありますね」
―――――――――――――――――――――――
.

(いつも部屋で能力を使ってエッティなものを作っているので、気をつけないとその残滓が出てきてしまう五辻さん)

INSTANTIATE!
五辻さんは戦うヒロインなのに近接戦闘が苦手なので戦ってるイメージが沸きにくいかもしれません。
いつもこんな感じで敵の注意を引きつつ逃げ回りながら召喚したタレットで敵の数を減らすのが基本的な戦い方となります。
常に一対群れですね。
店内の迷路のような構造を上手く使い、敵を集めてチョークポイントに誘い込み一網打尽にするのが理想的な夜番の戦いです。
ヒロインを操作するタワーディフェンスRTSいいですよね(妄想)。

図ったようなタイミングですが自演マロではないです。
五辻さんのゲームも作りたいですね!
ハチナ怪異譚の次あたりにもしかしたら……
それからマシュマロでお薦めしていただいたゆず胡椒ドレッシングを先週使い切りました。
さっぱりした風味で残暑にぴったりでした、ありがとうございます。
八角家ではおやさい消化のため常におすすめのドレッシングを募集しております。
スポンサーサイト



(いつも部屋で能力を使ってエッティなものを作っているので、気をつけないとその残滓が出てきてしまう五辻さん)

INSTANTIATE!
五辻さんは戦うヒロインなのに近接戦闘が苦手なので戦ってるイメージが沸きにくいかもしれません。
いつもこんな感じで敵の注意を引きつつ逃げ回りながら召喚したタレットで敵の数を減らすのが基本的な戦い方となります。
常に一対群れですね。
店内の迷路のような構造を上手く使い、敵を集めてチョークポイントに誘い込み一網打尽にするのが理想的な夜番の戦いです。
ヒロインを操作するタワーディフェンスRTSいいですよね(妄想)。

図ったようなタイミングですが自演マロではないです。
五辻さんのゲームも作りたいですね!
ハチナ怪異譚の次あたりにもしかしたら……
それからマシュマロでお薦めしていただいたゆず胡椒ドレッシングを先週使い切りました。
さっぱりした風味で残暑にぴったりでした、ありがとうございます。
八角家ではおやさい消化のため常におすすめのドレッシングを募集しております。

[PR]

コメント
[C3128]
- 2021-09-28 19:03
- 編集
[C3129]
週更新作業お疲れ様でございます!`・ω・)ゞΣ
スクロールシステムは資料的なアイテムとか他の方が行ってるように図鑑的なものに割り当てちゃうのもありですねぇ・・・ムヅカシイ
九曜さんお美しい・・・これはハチナちゃんがどう返答してもその後無事じゃないことになりそうで堪りませんの・・・!
イツツジちゃんゲームが出た場合はタワーディフェンス式ゲームだとそれっぽく出来そうですねぇ、守り切れ!
そしてクリア特典(もしくは所謂イージーモード)で無限召喚Modeで無双するイツツジちゃん・・・カッコカワイイ!
スクロールシステムは資料的なアイテムとか他の方が行ってるように図鑑的なものに割り当てちゃうのもありですねぇ・・・ムヅカシイ
九曜さんお美しい・・・これはハチナちゃんがどう返答してもその後無事じゃないことになりそうで堪りませんの・・・!
イツツジちゃんゲームが出た場合はタワーディフェンス式ゲームだとそれっぽく出来そうですねぇ、守り切れ!
そしてクリア特典(もしくは所謂イージーモード)で無限召喚Modeで無双するイツツジちゃん・・・カッコカワイイ!
- 2021-09-28 19:08
- 編集
[C3130]
お疲れ様です!
すでにUnityを活用してる八角家の皆様でさえ苦戦するプログラムとは... この問題児をどう扱っていくのか、これからの進歩報告が楽しみです
九曜さんも色々大きくていいですね!絹さんよりも妖艶でエチチな感じがするっ!趣向を凝らしたHな策略を繰り出してきそう
すでにUnityを活用してる八角家の皆様でさえ苦戦するプログラムとは... この問題児をどう扱っていくのか、これからの進歩報告が楽しみです
九曜さんも色々大きくていいですね!絹さんよりも妖艶でエチチな感じがするっ!趣向を凝らしたHな策略を繰り出してきそう
- 2021-09-28 19:54
- 編集
[C3132] Re: タイトルなし
ダッツ 様
お疲れ様です、やはり図鑑的なUIに近い存在だったのですね……
九曜さんはまさしく時にねっとり時に厳しく近づいてくるので気を付けなければ。
タワーディフェンスゲームのやり込み無限湧きモードすきです!
お疲れ様です、やはり図鑑的なUIに近い存在だったのですね……
九曜さんはまさしく時にねっとり時に厳しく近づいてくるので気を付けなければ。
タワーディフェンスゲームのやり込み無限湧きモードすきです!
- 2021-09-28 21:45
- 編集
[C3133] Re: タイトルなし
TKM 様
お疲れ様です。これは本当に苦労したので是非これからはうまく使っていけるようになりたいです。
九曜さん今回の最巨枠なので誰よりも妖艶に迫ってきてくれると思います!
お疲れ様です。これは本当に苦労したので是非これからはうまく使っていけるようになりたいです。
九曜さん今回の最巨枠なので誰よりも妖艶に迫ってきてくれると思います!
- 2021-09-28 21:48
- 編集
[C3136]
自分も大昔に大作を夢見て少しだけゲーム制作を齧ったことがありますが、こういった延々と概念を与えていく過程に馴染めずすぐに挫折したのを思い出しました……じゃじゃ姉さん、かっけえっす。
- 2021-09-29 02:29
- 編集
[C3137] Re: タイトルなし
> 自分も大昔に大作を夢見て少しだけゲーム制作を齧ったことがありますが、こういった延々と概念を与えていく過程に馴染めずすぐに挫折したのを思い出しました……じゃじゃ姉さん、かっけえっす。
UIを覚えるの本当に神経がすり減っていくので大変ですよね……じゃじゃ姉さんすごい
UIを覚えるの本当に神経がすり減っていくので大変ですよね……じゃじゃ姉さんすごい
- 2021-09-29 11:37
- 編集
[C3140]
scrollviewにはカーソル操作の機能は無いですけどボタンとかスクロールバーなどのUI同士ならやってくれますよ
https://docs.unity3d.com/ja/2019.4/Manual/script-SelectableNavigation.html
なのでスクロールビュー内にボタンをアイテムの項目として置いて、OnApplicationFocusでボタンにフォーカスが来たらボタンの位置からスクロール位置を調整すれば…ってまぁ、十分面倒ですね
https://docs.unity3d.com/ja/2019.4/Manual/script-SelectableNavigation.html
なのでスクロールビュー内にボタンをアイテムの項目として置いて、OnApplicationFocusでボタンにフォーカスが来たらボタンの位置からスクロール位置を調整すれば…ってまぁ、十分面倒ですね
- 2021-09-30 04:13
- 編集
[C3141] Re: タイトルなし
> scrollviewにはカーソル操作の機能は無いですけどボタンとかスクロールバーなどのUI同士ならやってくれますよ
OnApplicationFocusというのは知らなかったです!本当にありがたき……
ハチナさんでは時間をかけてしまいましたが次の作品ではこれでもっとサクサク作れるようになっていたいと思います。
OnApplicationFocusというのは知らなかったです!本当にありがたき……
ハチナさんでは時間をかけてしまいましたが次の作品ではこれでもっとサクサク作れるようになっていたいと思います。
- 2021-09-30 13:34
- 編集
[C3142] よくわからないけどお疲れ様です
お疲れ様です、
私はパソコンとか、すくろーるびゅぅ?とか、分からないですけど八角さんたちの会話が楽しいので拝見させて頂いてます。
よくわからないけど、頑張ってください、応援してます( ・ω・)
私はパソコンとか、すくろーるびゅぅ?とか、分からないですけど八角さんたちの会話が楽しいので拝見させて頂いてます。
よくわからないけど、頑張ってください、応援してます( ・ω・)
- 2021-09-30 14:23
- 編集
[C3144]
初めてここでコメントしたのですが、なんか使い方分からなくて二回同じコメントしてますね、毎週このブログの八角家の会話を楽しみにしてます。( ・ω・)
- 2021-09-30 14:30
- 編集
[C3145] Re: タイトルなし
サムサム 様
お疲れ様です、いつもご覧いただきましてありがとうございます。
ブログの方はとりとめのないことばかりですが、完成まで引き続き頑張っていきたいと思います。
(重複してしまった件についてかしこまりました。片方は削除しておきました)
お疲れ様です、いつもご覧いただきましてありがとうございます。
ブログの方はとりとめのないことばかりですが、完成まで引き続き頑張っていきたいと思います。
(重複してしまった件についてかしこまりました。片方は削除しておきました)
- 2021-09-30 15:52
- 編集
コメントの投稿
トラックバック
- トラックバック URL
- https://mizukunokimi.blog.fc2.com/tb.php/344-3c5c69d2
- この記事にトラックバックする(FC2ブログユーザー)
こんな美しいお姉さんがいたら、仲間に入るしかありませんね……
もしくは、入らされる……!