无法转换为'方法组'到' IEnumerator'

时间:2018-03-23 15:10:22

标签: c# unity3d mobile

我真的非常擅长Unity。

我已经按照Google脚本的教程映射到原始图像。但我收到错误并且不知道如何解决它。

任何人都可以帮助我吗?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GoogleAPI : MonoBehaviour
{
    public string url;

    public RawImage img;

    public float lon;
    public float lat;

    public int zoom = 14;
    public int mapWidth = 600;
    public int mapHeight = 620;

    LocationInfo li;

    public enum mapType { roadMap, satelite, hybrid, terrain };
    public mapType MapSelected;

    public int scale;

    IEnumerator Map()
    {
        url = "https://maps.googleapis.com/maps/api       /staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap \n" +
                " & markers = color:blue % 7Clabel: S % 7C40.702147,-74.015794 & markers = color:green % 7Clabel: G % 7C40.711614,-74.012318 \n" +
                " & markers = color:red % 7Clabel: C % 7C40.718217,-73.998284 & key =  AIzaSyDh1_nS-l7nWOFWvt0Gg9-9dY_11qWzK_Q ";
        WWW www = new WWW(url);
        yield return www;
        img.texture = www.texture;
        img.SetNativeSize();
    }


    // Use this for initialization
    void Start()
    {
        img = gameObject.GetComponent<RawImage>();
        StartCoroutine(Map);

    }

    // Update is called once per frame
    void Update()
    {

    }
}

错误发生在StartCoroutine(Map);

(地图)。我得到了#34;参数1:不能使用&#39;方法组&#39;到&#39; IEnumerator&#39;&#34;

在视频中,花花公子做到了这一点,它刚刚起作用,所有评论似乎都是那些在该方法中取得成功的人。我没有。

提前致谢!

2 个答案:

答案 0 :(得分:3)

这会传递方法/方法组,而不是方法的结果:

 StartCoroutine(Map);

执行该方法并返回结果,并将其传递给Coroutine方法:

 StartCoroutine(Map());

每当您收到有关方法组的转换或转换错误时,请查找您忘记括号的位置。

答案 1 :(得分:0)

启动协程有两种方法。

一个是直接将例程作为参数传递

 StartCoroutine(Map());

或者使用方法的字符串名称,但此版本具有更高的运行时开销来启动协程。

 StartCoroutine("Map");