gameObject.SetActive的bug

在Unity3D项目中,一个脚本尝试通过SetActive(false)和SetActive(true)实现物体的忽闪效果。然而遇到一个问题,当物体被设置为非活动状态后,其上的脚本无法再运行,即使之后尝试用SetActive(true)恢复。此问题仅在脚本直接挂载在该物体上时出现,若脚本挂载在其他物体上则功能正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用SetActive()函数时,发现了一个有意思的小bug。

我把代码挂在物体上,想实现这个物体忽闪忽现的效果。

然而。

当使用SetActive(false)之后,就没办法使用SetActive(true)了。

也就是说,一旦这个物体被禁止后,挂在这个物体身上的脚本也不能运行了,不过,如果把脚本挂在其他物体上执行SetActive(false)和SetActive(true)就没问题了。

代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class NewBehaviourScript : MonoBehaviour
{
    public GameObject cub;
    int n=0;
    
    void Start()
    {
 
    }
    void Update()
    {
        n++;
        if (n % 30==0)
        {
            cub.gameObject.SetActive(false);
        }
        if (n % 59 == 0)
        {
            cub.gameObject.SetActive(true);
            n = 0;
        }
    }
 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值