// Java 3Dテスト用プログラム // TimerInterpolator.java // Copyright (c) 1999 ENDO Yasuyuki // mailto:yasuyuki@javaopen.org // http://www.javaopen.org/j3dbook/index.html import java.util.Enumeration; import javax.media.j3d.Interpolator; import javax.media.j3d.Alpha; import javax.media.j3d.WakeupOnElapsedTime; public class TimerInterpolator extends Interpolator { protected WakeupOnElapsedTime wup = null; // 起動条件になる WakeupCriterion protected TimerInterpolatorCallback callback = null; public TimerInterpolator(Alpha alpha, long sleep) { super(alpha); wup = new WakeupOnElapsedTime(sleep); // ミリ秒を指定して起動条件を生成 } public void initialize() { System.out.println("initialize()."); //DEBUG wakeupOn(wup); // 起動条件の設定 } public void processStimulus(Enumeration criteria) { //System.out.println("" + getAlpha().value()); //DEBUG callback.wakeup(); wakeupOn(wup); // 次回の起動条件 } public void setupCallback(TimerInterpolatorCallback newCallback) { callback = newCallback; } }