Y 軸に沿ってスムーズに回転しようとしている 3D 立方体があります。今のところ、マウス ボタンをクリックすると、立方体は (テトリスのように) 即座に新しい値に回転しますが、特定の範囲で新しい回転値に徐々に回転することを示したいと思います。ここに私が取り組んでいるコードがあります:
// Within Shp_Cube class
public float cubeRotY = 1.0f; // rotate on Y-axis
public static float cubeAngle = .01f; // angle of rotation
public static float cubeSpeed = 1.0f; // speed of rotation
...
// Within drawCube() method (called in JOGL's display(GLAutoDrawable...) )
gl.glRotatef(cubeAngle, 0, cubeRotY, 0); // rotation of cube
...
// Within MouseInput class
@Override
public void mouseClicked(MouseEvent m)
{
switch(m.getButton())
{
case 1:
System.out.println("Left Mouse Button Clicked");
if(Shp_Cube.cubeAngle < Shp_Cube.cubeAngle + 90f)
{
Shp_Cube.cubeAngle += Shp_Cube.cubeSpeed;
}
break;
case ...
私が達成しようとしている望ましい効果は、ユーザーがマウスの左ボタンをクリックすると、立方体が回転し始め、角度が特定の値に達するまで回転し続けることです。