[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01635] Re: 直方体の幅変更
―――――☆★ みんなで買えば安くなる! 楽天 共同購入 ★☆――――
┏━━━┓
┃楽●天┃ 売り切れ続出、だからトクするチャンス
┗━━━┛ 目玉商品満載! 家電・グルメ・ファッション…
今すぐアクセス⇒ http://www.rakuten.co.jp/?PR00cast
------------------------------------------------------------------------
3D勉強中の伏見です。
前回はTransform3D のご指摘をありがとうございました。
現在テスト中ですが、疑問点があります。
TextFieldの検証用のためえんどうさん作成の
AppearanceTestをお借りしています。
これで、試験的にBox用のTransform3Dであるbt3dに
bt3d.setScale(0.5)
を付加すると、みごとにBoxは半分の大きさになりました。(あたりまえか(笑))
しかし、次にTransformGroupのAPIにあるSetCapabilityより
TransformGroup btrans = new TransformGroup(bt3d);
→ btrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
btrans.addChild(new Box( 0.16f, 0.16f, 0.16f, yapp ));
trans.addChild(btrans);
と、TransformGroupへのWriteを許可して、
panel.add(new Label("Transparency"));
TextField tfield = new TextField("0.0", 4);
tfield.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
float value = 0.0f;
try {
value = Float.parseFloat(e.getActionCommand());
if (value > 1.0f) value = 1.0f;
if (value < 0.0f) value = 0.0f;
System.out.println("value=" + value);
→ bt3d.setScale(0.5);
} catch (NumberFormatException ex) { }
}
});
panel.add(tfield);
と、試験的にActionListenere内でsetScaleをしたのですが、
TextFieldへ入力してもBoxは変わりませんでした。
ちなみにSystem.out.println により
VALUE=0.2 等の入力した値は確認できます。
これは、TransformGroupeの
setCapability(TransformGroupe.ALLOW_TRANSFORM_WRITE)
では、Transform3D の途中変更は出来ない等の制限があるのでしょうか?
伏見@相変わらず進歩が無い(笑)