[過去ログ] 【初心者】スレを立てる前にココで質問を【Part28】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
2: 名前は開発中のものです。 [sage] 2016/05/29(日) 10:16:04.07 ID:jiO6jmYG(2/2) AAS
リンクがかなり死んでるようだが、代わりがわからんのでそのまま
3: 名前は開発中のものです。 [sage] 2016/05/30(月) 01:31:43.57 ID:wtPpkfk+(1) AAS
おつかれさんですよ
4: 名前は開発中のものです。 [] 2016/05/31(火) 21:49:13.27 ID:5XqNUbsR(1/4) AAS
前スレの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.47 ID:5XqNUbsR(2/4) AAS
続き
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;
}
}
}
}
6: 992 [sage] 2016/05/31(火) 22:01:02.02 ID:b8P60GFh(1/3) AAS
DrawStringまで行ってるなら、縦書きフォント(@MS ゴシックとか)を指定して、
g.Rotate(90度 = 90 * π/180)すればいけそうな気がする?
7: 名前は開発中のものです。 [] 2016/05/31(火) 22:10:54.41 ID:5XqNUbsR(3/4) AAS
ごめん。縦書きっていうのはドラクエとかで
ーーーーーー
ルーラの杖 |
➡薬草 |
しもふり肉 |
あああああ |
いいいいい |
ーーーーーー
と表示させたいんだ。
8: 名前は開発中のものです。 [sage] 2016/05/31(火) 22:25:16.61 ID:b8P60GFh(2/3) AAS
それは普通の出し方じゃないかw
4のソースを見た感じでは、もうできてるっぽい?
>g.drawString(elementList[i], 10, 10 * (i - start + 1));
ここでY座標を加算しているから、縦に並べられてるはずだな
9: 名前は開発中のものです。 [sage] 2016/05/31(火) 22:42:18.70 ID:b8P60GFh(3/3) AAS
どうでもいいことだけど、
> if (currentChoice > displaySize - 1) {
は、
> if (currentChoice > start + displaySize - 1) {
じゃないか?(勘なので間違ってるかもだが)
10: 名前は開発中のものです。 [sage] 2016/05/31(火) 22:51:27.28 ID:syvcyfYr(1) AAS
テキトーなUIライブラリ使えばよくね?
11: 名前は開発中のものです。 [] 2016/05/31(火) 23:02:05.12 ID:5XqNUbsR(4/4) AAS
皆こんな感じで表示をしてるんかな?
if (currentChoice > start + displaySize - 1) {
であってるみたい。
多分アイテム表示はこれで出来たみたい。ありがとう!
12(1): 名前は開発中のものです。 [] 2016/06/03(金) 23:55:19.05 ID:vwfT/Zmr(1) AAS
NPCに話しかけクエストを受けるか受けないかの選択肢を選ぶ時のメッセージダイアログはどう作ればいい?
13: 名前は開発中のものです。 [sage] 2016/06/04(土) 08:41:18.60 ID:ceW9UqJG(1) AAS
UIライブラリを使う
14: 名前は開発中のものです。 [] 2016/06/04(土) 15:47:35.28 ID:zT7bb+pU(1) AAS
まだコードの段階ではなく、クラス図上でどのようにするか考えてるんだ。
構造をどうすればいいのか分からん。
15: 名前は開発中のものです。 [sage] 2016/06/04(土) 17:17:59.70 ID:R+NPjyvJ(1) AAS
わざと情報を隠しているような悪意を感じるのだが
16: 名前は開発中のものです。 [sage] 2016/06/04(土) 20:20:07.01 ID:OCsJyUZt(1) AAS
ダイアログっぽいのを自作すべきじゃね?
縁とか綺麗に出来るし
17(1): 名前は開発中のものです。 [sage] 2016/06/04(土) 21:34:27.98 ID:XaLYrs3K(1) AAS
OSやWMのAPI呼ぶんではあかんのか?
18: 名前は開発中のものです。 [] 2016/06/04(土) 22:41:09.78 ID:49OvNrVd(1) AAS
OSなどのapiを使う予定は無いんだ。
その為ダイアログの自作をして行おうとしている。
19(1): 名前は開発中のものです。 [sage] 2016/06/04(土) 23:34:34.25 ID:dpNyGDHK(1) AAS
シングルトンで作ってるな
引数はメッセージとボタン数と、ボタン押した時のコールバックで
呼ぶ時にcanvasの表示レイヤーを一番上にして、
uGUIの半透明パネルを全画面に被せて、その上に自作のダイアログっぽい見た目の物を表示してる
20: 名前は開発中のものです。 [sage] 2016/06/05(日) 07:03:45.91 ID:c4dmRWxC(1) AAS
>>12
大事なことは何一つ書かずどうでもいいことばかり細かいダメ質問
ツクール系なのかフレームワークやライブラリを使ってるのか
それらを一切使わず自作なのかまず説明しろ
次にダイアログのUIの話か
NPCとやらのイベント管理かはっきりさせろ クエスト? なにそれおいしいの?
ぶっちゃけツクール以外の選択肢ないだろ
21: 名前は開発中のものです。 [sage] 2016/06/05(日) 07:49:56.07 ID:VkQsX4Na(1) AAS
>>19
unityスレと間違えてた
22(2): 名前は開発中のものです。 [] 2016/06/07(火) 10:46:06.71 ID:AZXQGqdb(1/2) AAS
質問です。
横2縦1比のクォータービューのひし形の地面タイルがあります。
これを回転・変形のみを使用して3Dの様に見る方向を自由に回転させて表示させたいのです。
縦方向の角度は変位せず45度を維持して横方向の回転だけを行いたいのです。
そのまま貼り付けた表示がN(北)、180度回転させたのがS(南)、90度(270度)回転させ横に二倍縦を半分にしたものがEとW
ここまでは比較的容易に出来たのですが、NE(北東)やSW(南西)を向かせたとき長方形になる変形方法が分からなくて困っています。
参考までに、Javascriptにて作成しています。回転や変形は単純な変形は言語側にやらせられます。
角度については0-1の実数範囲で連続的に変化させたいと思っています。
画像についてはEやW方向のように画像情報が減っても問題有りません。
よろしくお願いします。
23: 名前は開発中のものです。 [sage] 2016/06/07(火) 13:34:41.75 ID:tTRndzbQ(1) AAS
>>22
まずタイルを真上から見た形(正方形)にする(文面から察するに縦2倍にする)
そのタイルを真上から任意の角度回転する
平行投影する(縦を1/2に縮める)
設置位置も同様にして求められるけど、素直に3Dライブラリで組んだ方がスッキリするはず
24: 名前は開発中のものです。 [sage] 2016/06/07(火) 14:21:47.47 ID:FyHjw/Bn(1/2) AAS
俺も3Dにした方がいいに一票
それだけだとなんなので、
視点を回転させたとき、パースを考慮しなければひし形の頂点は楕円軌道を描くはず。
(θを90度ずつずらした場所が各頂点)
上端も下端も同じ。
それにしたがって側壁を貼ればいいと思う
25: 名前は開発中のものです。 [sage] 2016/06/07(火) 14:25:14.17 ID:FyHjw/Bn(2/2) AAS
連レスすまん
角度は0〜1じゃなくて0〜360か0〜2πにしようぜ
(俺は0〜360派)
26: 22 [sage] 2016/06/07(火) 21:24:56.49 ID:AZXQGqdb(2/2) AAS
ありがとうございます。
縦を二倍して正方形にしたタイルを基準にするのは盲点でした。確かに正方形なら回転したときに長方形が出てきます。活路が見えてきた気がします。助かりました
個人的な意地というかなんというか、確かに3Dにした方が分かり易いのだとは思うのですが、
2Dから3Dにすると訳の分からないものが出てきて手に負えない為2Dを駆使してやってみようと思いました。
上下前次1-新書関写板覧索設栞歴
あと 976 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s