我正在尝试学习如何在C#中使用unity的WWWForms进行POST。但是,在尝试了一些文档示例之后,我仍然无法弄清楚如何获得结果,甚至无法知道结果是否成功发布。这是我从https://docs.unity3d.com/ScriptReference/WWW.html
获得的代码的页面我尝试过在main中进行无限循环,并在发布完成后分配一个静态变量,但从未分配过。起初我以为是因为控制台关闭太快了,但事实并非如此。
class Program : MonoBehaviour
{
public string url = "http://images.earthcam.com/ec_metros/ourcams/fridays.jpg";
IEnumerator Start()
{
using (WWW www = new WWW(url))
{
yield return www;
Renderer renderer = GetComponent<Renderer>();
renderer.material.mainTexture = www.texture;
Console.WriteLine("Success");
}
}
static void Main(string[] args)
{
}
}
我希望它在发送回响应后能够成功打印,但是会关闭。
答案 0 :(得分:0)
IEnumerator Start()
是协程。这意味着它将根据返回值yield
的指定暂停并恢复执行。如果您想将协程视为线程,则可以,但是只需了解(a)不是,并且(b)为您管理它们。
除非将代码附加到场景中的游戏对象,否则您的代码将不会运行。
您似乎是来自非Unity开发的新用户,这一点由static void Main
证明,并且引用控制台窗口关闭得太快。 Unity不是控制台应用程序,而是魔术方法,只有在适当的时候才调用魔术方法,在这种情况下,首先是每个带有此组件的GameObject初始化。您不能只是import Unity
并期望它像任何其他库一样工作(Unity不是库)。