如何避免这个错误?
var bottom = Instantiate(bottom_section, transform.position, transform.rotation);
next_point = bottom.transform.Find("next_point").gameObject;
bottom.transform.parent = this.transform;
add_segment_to_crop_segments(i, bottom);
previous_point = this.gameObject;
segments.Add(bottom);
var bottom = Instantiate(bottom_section, transform.position, transform.rotation);
next_point = bottom.transform.Find("next_point").gameObject;
bottom.transform.parent = this.transform;
add_segment_to_crop_segments(i, bottom);
previous_point = this.gameObject;
segments.Add(bottom);
private void add_segment_to_crop_segments(int i, GameObject segment)
{
//使用插入因为这样可以插入一个空值,然后再填充它。
segments_data.Insert(i, null);
segments_data[i]._segment = segment;
segments_data[i]._next_point = next_point;
//不需要担心从具体的对象中获取这些,因为next_point和previous_point在整个脚本中都是全局的。
//也就是说,当一个对象设置了它们时,所有对象都会设置它们。
segments_data[i]._previous_point = previous_point;
segments_data[i].dist_percentage = 0;
}
private void add_segment_to_crop_segments(int i, GameObject segment)
{
//使用插入因为这样可以插入一个空值,然后再填充它。
segments_data.Insert(i, null);
segments_data[i]._segment = segment;
segments_data[i]._next_point = next_point;
//不需要担心从具体的对象中获取这些,因为next_point和previous_point在整个脚本中都是全局的。
//也就是说,当一个对象设置了它们时,所有对象都会设置它们。
segments_data[i]._previous_point = previous_point;
segments_data[i].dist_percentage = 0;
}
解决方案:
1. 删除重复的代码块。
2. 检查segments_data是否已经初始化,如果没有,进行初始化。
3. 检查bottom_section是否已经被实例化,如果没有,进行实例化。
4. 检查next_point和previous_point是否已经设置,如果没有,设置它们。
5. 检查segments集合是否已经添加了bottom对象,如果没有,添加它。
评论 (0)