Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity脚本:渲染器精灵组件_Unity3d_Unityscript - Fatal编程技术网

Unity3d Unity脚本:渲染器精灵组件

Unity3d Unity脚本:渲染器精灵组件,unity3d,unityscript,Unity3d,Unityscript,我使用Brackeys的库存系统,然后我尝试定制一个设备对象,就像文档中说的那样。我需要该项目启用渲染器精灵组件时,对象拖动到武器持有人(库存),并禁用渲染器精灵时,对象从武器持有人拖出。我是实现GetComponent(spritender).enabled=true;用于激活渲染器精灵和GetComponent(Spriterender)。enabled=false;禁用,但脚本似乎不起作用,当对象从资源清册中拖出时,渲染器精灵组件仍处于活动状态。这里是启用/禁用渲染器精灵的脚本部分 #pr

我使用Brackeys的库存系统,然后我尝试定制一个设备对象,就像文档中说的那样。我需要该项目启用渲染器精灵组件时,对象拖动到武器持有人(库存),并禁用渲染器精灵时,对象从武器持有人拖出。我是实现GetComponent(spritender).enabled=true;用于激活渲染器精灵和GetComponent(Spriterender)。enabled=false;禁用,但脚本似乎不起作用,当对象从资源清册中拖出时,渲染器精灵组件仍处于活动状态。这里是启用/禁用渲染器精灵的脚本部分

#pragma strict

//This script allows you to create equipment effects that will be called either OnEquip or WhileEquipped. This is usefull for magic effects and stat handling.

@script AddComponentMenu ("Inventory/Items/Equipment Effect")
@script RequireComponent(Item)

private var effectActive = false;

function Update () 
{
    if (effectActive == true)
    {
       //-----> THIS IS WHERE YOU INSERT CODE YOU WANT TO EXECUTE AS LONG AS THE ITEM IS EQUIPPED. <-----


    }
}

function EquipmentEffectToggle (effectIs : boolean)
{
    if (effectIs == true)
    {
       effectActive = true;

       Debug.LogWarning("Remember to insert code for the EquipmentEffect script you have attached to " + transform.name + ".");

       //-----> THIS IS WHERE YOU INSERT CODE YOU WANT TO EXECUTE JUST WHEN THE ITEM IS EQUIPPED. <-----

         GetComponent(SpriteRenderer).enabled = true;




    }
    else
    {
       effectActive = false;

       //-----> THIS IS WHERE YOU INSERT CODE YOU WANT TO EXECUTE JUST WHEN THE ITEM IS UNEQUIPPED. <-----

         GetComponent(SpriteRenderer).enabled = false;

       //Destroy(gameObject);

    }
}
#pragma strict
//此脚本允许您创建称为OnEquip或WhileEquipped的设备效果。这对魔法效果和属性处理很有用。
@脚本添加组件菜单(“库存/项目/设备效果”)
@脚本要求重新组件(项目)
private var effectActive=false;
函数更新()
{
if(effectActive==true)
{

//----->这是插入只要装备了物品就要执行的代码的地方。这是插入只要装备了物品就要执行的代码的地方。这是插入只要装备了物品就要执行的代码的地方。你应该读取冲突和触发器的信息。让它们切换渲染器启用或者在脚本中被禁用。或者更好的是让清单这样做……我不认为这是非常有效的方式,他们正在尝试

i、 e.将清单设置为触发器,并使OnTriggerCenter(collider col)do col.gameObject.GetComponent().enabled=true

和OnTriggerExit(collider col)do col.gameObject.GetComponent().enabled=false

如果您使用的是Unity的2D组件,那么它就是OnTriggerInter2D(CollizedR2D col)等等。。。。。
这只是一个示例,远远不是100%完全可靠的代码。只是朝着一个可能的方向前进。您可能需要设置更多内容。

如果您仍然在,请删除此问题,干杯