在Android中编写游戏时出错

时间:2014-05-14 10:56:17

标签: android unity3d unityscript

我在观看了几个适用于Windows平台的视频后创建了一个游戏,但是现在我想要同样适用于Android然后它会给出错误,那些我无法解决的问题,请帮助我做些什么来消除这些错误,因为我是团结概念的新手对我来说并不是那么清楚。我得到的错误是:

1. Assets/scriptPlayer.js(37,16): BCE0044: expecting ), found 'touch'.
2.Assets/scriptPlayer.js(39,38): BCE0043: Unexpected token: ).
3.Assets/scriptPlayer.js(22,6): BCE0005: Unknown identifier: 'useKeyboard'.
4.Assets/scriptPlayer.js(24,3): BCE0005: Unknown identifier: 'dir'
function Update () 
{
    if (!useKeyboard) 
    { 
        dir.x = Input.acceleration.x;
        dir.y = Input.acceleration.y ;

        transH = dir.x * (playerspeedhor + 10.0f) * Time.deltaTime; 
        transV = dir.y * (playerspeedvar+ 10.0f) * Time.deltaTime; 
    }  else 
    { 
        transH = Input.GetAxis("Horizontal") * playerspeedhor* Time.deltaTime; 
        transV = Input.GetAxis("Vertical") * playerspeedvar * Time.deltaTime; 
    }

    transform.Translate(transH,transV,0); 
    transform.position.x=Mathf.Clamp(transform.position.x,-4,4);
    transform.position.y=Mathf.Clamp(transform.position.y,-4,4);

    if (SystemInfo.supportsAccelerometer) 
    { 
        foreach (Touch touch in Input.touches)
        { 
            if (Input.touchCount == 1 && touch.phase == TouchPhase.Stationary)
            { 
                touched = true; 
                break; 
            }
        }

1 个答案:

答案 0 :(得分:1)

您正在混合使用编程语言。 C#和UnityScript(或JavaScript,它不是真的,但让我们不要偏离轨道)。

您的foreach应该是

for (var touch : Touch in Input.touches)

代替。

查看the documentation,我假设您从那里检索了代码。如果是这样,请始终确保将“Scripting Reference using”背后的语言设置为正确的语言。即使如此,也不要指望它是正确的。太多的示例仅以单一语言提供,导致复制粘贴问题太频繁。