OnMouseOver()和OnMouseExit()

时间:2018-02-04 17:12:44

标签: c# unity3d

我正在尝试将多个平面实例化为我的地形并让他们OnMouseOver()将它们更改为某种颜色,并OnMouseExit()将它们更改为原始颜色。

我将一个平面实例化脚本附加到主摄像机,以生成平面预制和鼠标事件脚本到平面prefab。我将它们全部实例化并将事件传递给它们,但是在游戏中,鼠标事件被应用于长条纹平面,整个象限或不在鼠标光标位置的随机单个平面。

我制作了一种新材料并将其应用到该地方,然后将其转变为预制件,以在创建平面时替换标准材料组。

我已经开始尝试使用鼠标位置将颜色更改应用于Physics.CheckSphere当前鼠标位置的平面,但我不完全明白如何具体说明{{1}在特定的位置。

gameObject

2 个答案:

答案 0 :(得分:1)

所以,由于Unity论坛,我找到了答案。我的错误是在实例化转换脚本中。因为我使用的是平面原始的3d对象,所以我没有正确考虑平面的大小。以下用于实例化每一行的代码段可消除由于平面太大而无法简单放置在(0,0,0)(0,0,1)(0,0,2)时发生的重叠。

row = new Vector3(i * 10, 0, x * 10);
Instantiate(groundTile, row, Quaternion.identity);

答案 1 :(得分:0)

根据需要

System.out.println("Enter country name:"); countryName = in.nextLine(); System.out.println("Enter country code:"); String codeNumber = in.nextLine(); if (codeNumber.matches("\\d+")){ // is a number } else { System.out.println("Please, inform only numbers"); } 你的游戏对象然后你可以识别它们。

enter image description here

如果你这样做,那么你可以像这样使用它们(纯粹是例如):

tag