c# - 在多摄像头的情况下使用 RayCast 在 Sprite 上捕获触摸

标签 c# android unity-game-engine

我的层次结构中有两个摄像头,一个名为“主摄像头”,另一个名为“ABC_Camera”。我有应用了对撞机的 Sprite ,我试图通过以下代码点击 Sprite :

if (Physics.Raycast (ray,out hit,1000)) {
    colliderName = hit.transform.name;
    hit.transform.SendMessage ("Selected");
}

此代码在 Main Camera 的情况下工作正常。但是一旦相机从 Main Camera 更改为 ABC_Camera,如果条件不起作用,则上面提到的。这是我用来切换相机的代码:

Camera cam1= GameObject.Find("ABC_Camera").GetComponent<Camera>();
cam1.enabled = true;

请帮帮我。

最佳答案

您正在启用相机,但仍在 RayCast 上使用“Camera.main”。启用时将 var ray 更改为 cam1。

关于c# - 在多摄像头的情况下使用 RayCast 在 Sprite 上捕获触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26010585/

相关文章:

c# - 为什么在代码隐藏中停止动画不起作用?

c# - List<> 元素是否像数组一样按顺序位于堆中?

c# - 获取gridview中选中记录的超链接字段值

c# - 在 .NET 中将 List<object> 序列化为 XML 时如何重命名根节点?

android - 什么是android :ems in android application design

unity-game-engine - 正确地为 float3 着色器上的 "Semantic"标记?

android - 如何在改造android中调用动态请求方法

AndroidManifest中的android:label问题(无法设置标题)

unity-game-engine - 带有标记标签的 Unity UI 文本 - "String too long for TextMeshGenerator"

unity-game-engine - 全局脚本对象