我有这个简单的gui脚本,点击时打开一个url。我不需要在浏览器中实际打开url,因为它只是一个php文件的地址。我在PC上试用时代码运行正常,但是当我在Android设备上运行时没有任何反应。
以下是代码:
#pragma strict
var one = "192.168.0.125:8888/one";
var two = "192.168.0.125:8888/two";
Var three = "192.168.0.125:8888/three";
Var all = "192.168.0.125:8888/all";
function Start () {
}
function Update () {
Screen.orientation = ScreenOrientation.Portrait;
}
function OnGUI () {
if (GUI.Button (Rect (20,20,300, 75), "ONE")) {
var ONE_ : WWW = new WWW(one);
}
else if(GUI.Button (Rect(20,200,300, 75), "TWO")){
var TWO_ : WWW = new WWW(two);
}
else if(GUI.Button (Rect(20,380,300, 75), "THREE")){
var THREE_ : WWW = new WWW(three);
}
else if(GUI.Button (Rect(20,560,300, 75), "ALL")){
var ALL_ : WWW = new WWW(all);
}
}
任何想法?感谢
答案 0 :(得分:0)
您不是在等WWW类完成请求。
您需要使用不同的方法声明WWW类(或使其成为类var)并使用yield语法等待它。
您的代码应如下所示:
#pragma strict
var one = "192.168.0.125:8888/one";
var two = "192.168.0.125:8888/two";
var three = "192.168.0.125:8888/three";
var all = "192.168.0.125:8888/all";
function Start () {
}
function Update () {
Screen.orientation = ScreenOrientation.Portrait;
}
function CreateWWW(address)
{
var wwwAccess : WWW = new WWW(address);
yield wwwAccess;
}
function OnGUI () {
if (GUI.Button (Rect (20,20,300, 75), "ONE")) {
CreateWWW(one);
}
else if(GUI.Button (Rect(20,200,300, 75), "TWO")){
CreateWWW(two);
}
else if(GUI.Button (Rect(20,380,300, 75), "THREE")){
CreateWWW(three);
}
else if(GUI.Button (Rect(20,560,300, 75), "ALL")){
CreateWWW(all);
}
}
这是指向Unity docs
的链接此外,您不需要在每次更新时指定方向,您可以从PlayerSettings-> Resolution and Presentation-> Allowed orientation for Auto Rotation设置它。