HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0401
JutahHSP3dishでノンフィールドのRPGを作っています:アイテムについて2未解決


Jutah

リンク

2014/4/1(Tue) 00:12:08|NO.61149

はじめまして、
最近、HSP3dishでスマートフォン用ゲームを作り始めた者です
初心者なので皆様の知恵をお借りしたく投稿いたしました。

題名の通り、現在HSP3dishでスマホ用ゲームを作っているのですが、
アイテムの使用や閲覧のプログラムで当初はリストボックス(listbox)を使った方法を
取ろうと思いました。しかし、リストボックスは3dishには対応していませんでした。


今回制作しているゲームはアイテム収集に重きを置いた(予定では300以上のアイテム)
ゲームを制作したいので、なるべくリストボックスのようなスクロールしてアイテムを
探し、閲覧と使用ができる方法をとりたいです。


そこで、何かリストボックスに変わる、もしくはそれの代替となるような
膨大なアイテムを上手く表示(説明文の閲覧、装備、使用)できる方法を
皆様から知恵を出していただきたいのです。

つたない文章で申し訳ありません。
これからもお世話になると思います。
どうかご返信をお願いいたします。



この記事に返信する


YSR

リンク

2014/4/1(Tue) 01:18:01|NO.61150

 標準のlistboxが使えないのでしたら、同等の機能を持つものを
自作すればいいのではないでしょうか。
 例えば、「スクロールして」「カーソルが移動し」「キーを押して決定する」
というシンプルなものでしたら次のように作れます(注:普通のWindowsアプリとして制作)。

/* 自作のリストボックス */ // 初期設定 window_size_x = 400 :window_size_y = 400 listbox_size_font = 32 listbox_size_x = 10 :listbox_size_y = 10 listbox_psize_x = listbox_size_x * listbox_size_font :listbox_psize_y = listbox_size_y * listbox_size_font listbox_pos_x = (window_size_x - listbox_psize_x) / 2 :listbox_pos_y = (window_size_y - listbox_psize_y) / 2 sdim listbox_data, 1024 listbox_data = {"H 水素 He ヘリウム Li リチウム Be ベリリウム B ホウ素 C 炭素 N 窒素 O 酸素 F フッ素 Ne ネオン Na ナトリウム Mg マグネシウム Al アルミニウム Si ケイ素 P リン S 硫黄 Cl 塩素 Ar アルゴン K カリウム Ca カルシウム"} notesel listbox_data listbox_data_max = notemax listbox_select = 3 listbox_first = 0 // 画面初期化 screen 0, window_size_x, window_size_y color 0, 0, 0 :boxf ;背景色で塗りつぶし font msgothic, listbox_size_font, 1 // 描画・操作 change_flg = 1 repeat // 描画 if(change_flg == 1){ redraw 0 // リストボックス描画 color 128, 128, 128 :boxf listbox_pos_x, listbox_pos_y, listbox_pos_x + listbox_psize_x, listbox_pos_y + listbox_psize_y // リストボックス内の文字描画 color 255, 255, 255 for k, listbox_first, listbox_first + listbox_size_y noteget listbox_string, k pos listbox_pos_x, listbox_pos_y + (k - listbox_first) * listbox_size_font mes listbox_string next // リストボックスの選択部分のみ別に描画 color 0, 0, 255 :boxf listbox_pos_x, listbox_pos_y + (listbox_select - listbox_first) * listbox_size_font, listbox_pos_x + listbox_psize_x, listbox_pos_y + ((listbox_select - listbox_first) + 1) * listbox_size_font color 255, 0, 0 noteget listbox_select_string, listbox_select pos listbox_pos_x, listbox_pos_y + (listbox_select - listbox_first) * listbox_size_font mes listbox_select_string change_flg = 0 redraw 1 } // 操作 stick ky, 2 + 8 if(ky & 2){ ;↑ if(listbox_select != 0){ listbox_select-- if(listbox_first > listbox_select) :listbox_first-- change_flg = 1 } } if(ky & 8){ ;↓ if(listbox_select != listbox_data_max - 1){ listbox_select++ if(listbox_first + listbox_size_y - 1 < listbox_select) :listbox_first++ change_flg = 1 } } if(ky & 32){ ;Enter noteget listbox_select_string, listbox_select dialog listbox_select_string } await 100 loop



Jutah

リンク

2014/4/1(Tue) 10:19:14|NO.61152

さっそくの返信ありがとうございます
書いていただいたプログラムをさっそく試行錯誤して
スマホアプリ用に作っています。

他にもアイディア募集中です



ONION software Copyright 1997-2023(c) All rights reserved.