[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01274] Re: Billboard2
◆◇ ◆◇ ◆◇ MagicalCastβ(ベータ版) ◆◇ ◆◇ ◆◇
┌──┐ ┌──┐
│\/│ DNSの新MLシステム誕生です!│\/│
└──┘ └──┘
これまでの簡単・快適そのままで高機能に
いえいえもっと高速に。βテストにご協力下さい
※ fmlでもmajordomoでもありません
◆◇ ◆◇ ◆◇ http://mx7.dns-ml.co.jp/ ◆◇ ◆◇ ◆◇
内野です。
> 具体的には p.12 に書いてあるように、
> initialize(), processStimulus() の最後で
> wakeupOn() メソッドを実行します。
> 引数は WakeupOnBehaviorPost になるはずです。
以下のようなソース(メインの実行部分はまだ適当です)
を書いたのですが、うまくいきません。
wakeupOnメソッドが上手く働いていないようですが、
WakeupOnBehaviorPostの引数のBehaviorである
Billboardをどのように扱えばいいのでしょうか?
import java.awt.event.*;
import java.util.Enumeration;
import javax.media.j3d.*;
import javax.vecmath.*;
public class ChangeTexBehavior extends Behavior{
private Billboard bill;
private TransformGroup rotate;
private Transform3D t3d = new Transform3D();
private Matrix3f rot = new Matrix3f();
private int angle;
ChangeTexBehavior(Billboard bill,TransformGroup rotate){
this.bill = bill;
this.rotate= rotate;
System.out.println("called const");
}
public void initialize(){
wakeupOn(new WakeupOnBehaviorPost(bill,0));
System.out.println("called ini");
}
public void processStimulus(Enumeration criteria){
System.out.println("called process");
rotate.setTransform(t3d);
t3d.getRotationScale(rot);
angle = (int)Math.acos(rot.m00);
System.out.println(angle);
wakeupOn(new WakeupOnBehaviorPost(bill,0));
}
}