我在游戏中添加了FirstPersonController脚本,以使其在玩家与水碰撞时(我给它加上了“ water”标签)停止了时间并禁用了MouseLook。我能够识别出水并将时间刻度设置为0。但我不知道如何禁用MouseLook。
当我尝试使用此功能时:
GetComponent<MouseLook>().enabled = false;
我得到了错误:
'MouseLook' does not contain a definition for 'enabled' and no accessible extension method 'enabled' accepting a first argument of type 'MouseLook' could be found (are you missing a using directive or an assembly reference?)
因此,我查找了如何删除错误,并将其更改为:
(gameObject.GetComponent("MouseLook") as MonoBehaviour).enabled = false;
但是,当与水碰撞时,它什么也没做,而是给出了错误:
NullReferenceException: Object reference not set to an instance of an object
对于那些想要查看我添加的所有内容的人,这是我所做的唯一更改:
void OnTriggerEnter(Collider target)
{
if (target.gameObject.tag == "Water")
{
Time.timeScale = 0.0f;
Time.fixedDeltaTime = 0.0f;
(gameObject.GetComponent("MouseLook") as MonoBehaviour).enabled = false;
}
}
编辑:这不是What is a NullReferenceException, and how do I fix it?的副本;我了解NullReferenceException的含义。我只是想知道如何在另一个脚本上使用GetComponent,然后将其禁用。
答案 0 :(得分:0)
您可以尝试使用此方法。将鼠标外观的游戏对象拖到检查器的公共区域中
public Mono<List<ItemServiceResponse>> getItems(ItemServiceRequest itemServiceRequest) {
return webClient
.post()
.contentType(MediaType.APPLICATION_JSON)
.header(HttpHeaders.ACCEPT, MediaType.APPLICATION_STREAM_JSON.toString())
.body(Mono.just(itemServiceRequest), ItemServiceRequest.class)
.retrieve()
.bodyToFlux(ItemServiceResponse[].class) // <-- array of ItemServiceResponse
.collectList()
.log();
}