⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testpickbox.java

📁 本项目是用JAVA3D开发的一款图形界面的3D漫游的类似引擎.至所以这么说.是因为它的部分功能还不完全.说它是引擎是因为它可以完全脱离模型文件.本引擎实现了虚拟漫游,碰撞检测,动态添加模型,以及部分纹
💻 JAVA
字号:
package cn.bz.picking;

import javax.media.j3d.Appearance;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.ImageComponent2D;
import javax.media.j3d.Shape3D;
import javax.media.j3d.Texture2D;
import javax.media.j3d.TransformGroup;
import javax.swing.JPanel;

import cn.bz.head.frame.TexturePanel;
import cn.bz.util.ImageTextureLoader;

import com.sun.j3d.utils.image.TextureLoader;
import com.sun.j3d.utils.picking.behaviors.PickingCallback;

public class TestPickBox implements PickingCallback {

	private Shape3D shape3D;

	private JPanel jPanel;
	
	public static TexturePanel texturePanel ;

	public TestPickBox(Shape3D shape3D, JPanel jpanel) {
		// TODO Auto-generated constructor stub
		this.shape3D = shape3D;
		this.jPanel = jpanel;
	}

	public void transformChanged(int type, TransformGroup tg) {
		// TODO Auto-generated method stub

		// 修改纹理属性
		ImageTextureLoader myLoader = new ImageTextureLoader("cizhuan.jpg", jPanel);
		ImageComponent2D myImage = myLoader.getImage();
System.out.println(myLoader.getImageName()+"---图片名字");

		String imageName = myLoader.getImageName() ;
		texturePanel.setJLabel(imageName);
		texturePanel.setFocusable(true);
		
		Texture2D myTex = (Texture2D) myLoader.getTexture();
		Appearance appearance = new Appearance();
		appearance.setTexture(myTex);
		shape3D.setAppearance(appearance);
	}
}

/*
 * public class MyCallbackClass extends Object implements PickingCallback{
 * DirectionalLight myLight; boolean state; public
 * MyCallbackClass(DirectionalLight lightD){ this.myLight=lightD; // 保存引用
 * this.state=false; } public void transformChanged(int type, TransformGroup tg) {
 * state=!state; myLight.setEnable(state); //改变该对象当前的状态 } }
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -