【发布时间】:2016-07-30 02:49:22
【问题描述】:
我收到以下错误:
CS0029 无法将类型
UnityEngine.Renderer[]隐式转换为System.Collections.Generic.List<UnityEngine.Renderer>
代码是:
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
public class AssignShadersToChildren : MonoBehaviour
{
private new GameObject renderer;
public Shader shader; // This should hold the Shader you want to use
void Start()
{
// We create a list that will hold all the renderers(objects)
// so we can then assign the shader
List<Renderer> renderers = new List<Renderer>();
renderers = GetComponentsInChildren<Renderer>();
// For every Renderer in the list assign the materials shader to the shader
foreach (Renderer r in renderers)
{
r.material.shader = shader;
}
}
}
【问题讨论】:
-
方法
GetComponentsInChildren可能返回Renderer[]而不是List<Renderer> -
这个错误有什么问题?你有错误的类型。您还可以创建一个一次性清单。将
renderers的类型更改为正确的类型并删除列表的创建。
标签: c#