- ★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net
7 :デフォルトの名無しさん[sage]:2015/04/25(土) 00:41:22.36 ID:bTs0F2XO - 今RPGに組み込む簡単な音ゲー的要素を作っています。
イメージは太めの線の上を細くて黒い線がスクロールしていく感じです。 引数としてint型の配列を渡し1なら叩く、そうでなければ休みという風にしたいです。(例:int配列の中身が1,1,1,01,1,1,0ならドンドンドン休みドンドンドン休み) ただ太い棒をどう描くかで悩んでいます。どの程度の長さの配列が送られてくるかは(=どの程度の曲の長さ)このクラス作成段階では分からないのでラベルに色をつけて順番に並べる方法は使えません。 また太い線を|で表す方法も考えましたが間隔などの問題があって止めました。 Line2Dクラスで試してみましたがGraphics2D.drawメソッドはどうやら指定位置に線を移動させているだけのようで public void paint(Graphics g){ int b=0; for (int a: this.i){ b++; if(a==1){ super.paint(g); Graphics2D g2 = (Graphics2D)g; g2.setStroke(new BasicStroke(10.0f)); Line2D line = new Line2D.Double(b*10, 0, b*10, 100); g2.draw(line); } } } のようなプログラムを書いても一本しか線が表示されませんでした。 そこで質問です。↑のような感じでプログラムを書いても線を複数表示する方法はありますか?またLine2Dよりいいクラスや方法があれば教えて下さい。
|