0

在 android 上的 java 中实现此方法 onclick 时遇到问题。我学校的导师也对此感到迷茫。这目前运行没有错误,除了点击没有实现的事实changeImage()

您是否看到此代码有任何问题?任何帮助将不胜感激!

public class MyRenderer extends RajawaliCardboardRenderer implements OnClickListener {

    public MyRenderer(Context context) {
        super(context);
    }

    public void initScene() {
        Log.d("debug1","initScene()");
        Sphere sphere = createPhotoSphereWithTexture(new Texture("photo",R.drawable.panorama));
        getCurrentScene().addChild(sphere);
        getCurrentCamera().setPosition(Vector3.ZERO);
        getCurrentCamera().setFieldOfView(75);
    }

    private static Sphere createPhotoSphereWithTexture(ATexture texture) {

        Material material = new Material();
        material.setColor(0);

        try {
            material.addTexture(texture);
        } catch (ATexture.TextureException e) {
            throw new RuntimeException(e);
        }

        Sphere sphere = new Sphere(50, 64, 32);
        sphere.setScaleX(-1);
        sphere.setMaterial(material);
        return sphere;
    }


    public void changeImage() {
        Log.d("debug1", "" + getCurrentScene().getNumChildren());
        ArrayList<Object3D> objectList = getCurrentScene().getChildrenCopy();
        Material material = objectList.get(0).getMaterial();
        for (ATexture texture : material.getTextureList())
        {
            material.removeTexture(texture);
            texture = null;
        }

        Texture t = new Texture("sphereTexture",R.drawable.newimage);
        t.shouldRecycle(true);
        try {
            material.addTexture(t);
        }
        catch (Exception e){e.printStackTrace();}

    };

    public void onClick(View v) {
        changeImage();
    }
};

更改图像声明

public abstract class RajawaliCardboardRenderer extends RajawaliRenderer implements CardboardView.StereoRenderer {
 //...
 public void changeImage() {};
 //...
}
4

0 回答 0