的误差是完全:错误在Unity:Lightning.SetColors(彩色,彩色)”必须有一个主体,因为它未标记抽象,EXTERN,或部分
错误(1)
资产/ _dinostudios123 /匹配树引擎/脚本/效果/ Lightning.cs(7,14):错误CS0501:`Lightning.SetColors(Color,Color)'必须有一个主体,因为它没有标记为抽象,外部或部分
此错误是由于必须添加public void SetColors(Color start,Color end)而改变[line.SetColors(color,color);]所致。
错误(2)
资产/ _dinostudios123 /匹配树引擎/脚本/效果/ Lightning.cs(30,14):警告CS0618:
UnityEngine.LineRenderer.SetVertexCount(int)' is obsolete:
使用numPositions不是“。
任何人都可以确定为什么在添加代码行以纠正颜色开始和颜色结束并纠正每行的int数时会出现错误代码?
using UnityEngine;
using System.Collections;
// Lightning effect
public class Lightning: MonoBehaviour {
public void SetColors ( //The error is applied to this line of code
Color start,
Color end
);
public void SetVertexCount (
int count
);
public Transform start; // start object
public Transform end; //end object
public int bend = 2; // bends count
public Vector3[] bendPoint; // points of bending
public Color color; // start lightning color
public string sortingLayer;
public int sortingOrder;
LineRenderer line; //LineRenderer Line
float distance = 0f;
float lastTime = -100f;
float frequency = 20f;
bool destroing = false;
Vector3 a;
Vector3 b;
void Start(){
line = GetComponent<LineRenderer>();
bendPoint = new Vector3[bend];
line.SetColors(color, color); //color, color
line.SetVertexCount(bend + 2);
line.GetComponent<Renderer>().sortingLayerName = sortingLayer;
line.sortingOrder = sortingOrder;
transform.parent = GameObject.Find("Slots").transform;
}
void Update(){
if (end == null || !end.gameObject.activeSelf || start == null || !start.gameObject.activeSelf) {
Remove();
return;
}
if (!destroing) {
a = start.position;
b = end.position;
}
distance = (a - b).magnitude;
if (lastTime + 1f/frequency < Time.time) {
lastTime = Time.time;
for (int i = 0; i < bendPoint.Length; i++)
bendPoint[i] = new Vector3((2f * Random.value - 1f) * 0.1f * distance, (2f * Random.value - 1f) * 0.1f * distance, 0f);
}
line.SetPosition(0, a);
for (int i= 1; i < bend + 1; i++) {
line.SetPosition(i, Vector3.Lerp(a, b, (1f * i)/(bend+1)) + bendPoint[i-1]);
}
line.SetPosition(bend + 1, b);
}
public void Remove() {
StartCoroutine(FadeOut());
}
IEnumerator FadeOut(){
if (destroing) yield break;
destroing = true;
while (GetComponent<Animation>().isPlaying) yield return 0;
GetComponent<Animation>().Play("LightningFadeOut");
while (GetComponent<Animation>().isPlaying) yield return 0;
Destroy(gameObject);
}
// function of creating new lightning effect
public static Lightning CreateLightning (int bend, Transform start, Transform end, Color color) {
Lightning newLightning = ContentAssistant.main.GetItem<Lightning> ("Lightning");
newLightning.bend = bend;
newLightning.start = start;
newLightning.end = end;
newLightning.color = color;
return newLightning;
}
}
我想通了,修复了这个文件。我所做的只是以下面的格式创建一个正文调用:public void SetColors(Color start,Color end){ColorColor(color,color);}} (int count){ \t SetVertexCount(bend + 2);其中, \t}整数问题 –