【初心者】スレを立てる前にココで質問を【Part28】©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/05/29(日) 10:15:36.62ID:jiO6jmYG
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://echo.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/

ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/

gamdev.orgが落ちるたびにあげてみるスレ
http://hibari.2ch.net/test/read.cgi/gamedev/1107022166

※前スレ
【初心者】スレを立てる前にココで質問を【Part27】
http://echo.2ch.net/test/read.cgi/gamedev/1419935788/
2016/05/29(日) 10:16:04.07ID:jiO6jmYG
リンクがかなり死んでるようだが、代わりがわからんのでそのまま
2016/05/30(月) 01:31:43.57ID:wtPpkfk+
おつかれさんですよ
4名前は開発中のものです。
垢版 |
2016/05/31(火) 21:49:13.27ID:5XqNUbsR
前スレの992ありがとう。

何故か途中で切れてた。

String[] elementList = new String[]{"A", "B", "C", "D", "E", "F", "G", "H"};

int displaySize = 3; // 画面に表示するアイテム数
int currentChoice = 0;// 今選択中の要素番号インデックス
int start = 0; // 表示要素の開始番号

// 表示はこんな感じ
public void paintComponent(Graphics g) {
for (int i = start; i < start + displaySize; i++) {
g.drawString(elementList[i], 10, 10 * (i - start + 1));
}
5名前は開発中のものです。
垢版 |
2016/05/31(火) 21:49:47.47ID:5XqNUbsR
続き
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) { // 左クリックされた時
currentChoice--;
if (currentChoice < start) { // when choice gets below the starting index
start = currentChoice;
if (currentChoice < 0) { // 一番上に来たら初期化
currentChoice = 0;
start = 0;
}
}
} else if (e.getButton() == MouseEvent.BUTTON3) { // 右クリックされた時
System.out.println("DOWN");
currentChoice++;
if (currentChoice > displaySize - 1) {
System.out.println(start + 1 + displaySize );
if (start + displaySize < elementList.length) {
start++;
}
if (currentChoice > elementList.length - 1) { // 一番下に来た
currentChoice = elementList.length - 1;
}
}
}
}
6992
垢版 |
2016/05/31(火) 22:01:02.02ID:b8P60GFh
DrawStringまで行ってるなら、縦書きフォント(@MS ゴシックとか)を指定して、
g.Rotate(90度 = 90 * π/180)すればいけそうな気がする?
7名前は開発中のものです。
垢版 |
2016/05/31(火) 22:10:54.41ID:5XqNUbsR
ごめん。縦書きっていうのはドラクエとかで

ーーーーーー
ルーラの杖 |
&#10145;薬草 |
しもふり肉 |
あああああ |
いいいいい |
ーーーーーー

と表示させたいんだ。
2016/05/31(火) 22:25:16.61ID:b8P60GFh
それは普通の出し方じゃないかw
4のソースを見た感じでは、もうできてるっぽい?

>g.drawString(elementList[i], 10, 10 * (i - start + 1));

ここでY座標を加算しているから、縦に並べられてるはずだな
2016/05/31(火) 22:42:18.70ID:b8P60GFh
どうでもいいことだけど、
> if (currentChoice > displaySize - 1) {
は、
> if (currentChoice > start + displaySize - 1) {
じゃないか?(勘なので間違ってるかもだが)
2016/05/31(火) 22:51:27.28ID:syvcyfYr
テキトーなUIライブラリ使えばよくね?
11名前は開発中のものです。
垢版 |
2016/05/31(火) 23:02:05.12ID:5XqNUbsR
皆こんな感じで表示をしてるんかな?

if (currentChoice > start + displaySize - 1) {
であってるみたい。

多分アイテム表示はこれで出来たみたい。ありがとう!
12名前は開発中のものです。
垢版 |
2016/06/03(金) 23:55:19.05ID:vwfT/Zmr
NPCに話しかけクエストを受けるか受けないかの選択肢を選ぶ時のメッセージダイアログはどう作ればいい?
2016/06/04(土) 08:41:18.60ID:ceW9UqJG
UIライブラリを使う
14名前は開発中のものです。
垢版 |
2016/06/04(土) 15:47:35.28ID:zT7bb+pU
まだコードの段階ではなく、クラス図上でどのようにするか考えてるんだ。
構造をどうすればいいのか分からん。
2016/06/04(土) 17:17:59.70ID:R+NPjyvJ
わざと情報を隠しているような悪意を感じるのだが
2016/06/04(土) 20:20:07.01ID:OCsJyUZt
ダイアログっぽいのを自作すべきじゃね?
縁とか綺麗に出来るし
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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