我是Unity的新手,并且一直在线查找大量的教程/指南。我的问题是,由于某些原因,当我使用下面的代码时,它不会检测键盘是否被点击。也许我正在做错误的键盘检测。这是我的代码:
function getCSVText(evt) {
if (currentChecklistCountry) {
var form = $('<form method="post" action="../php/sendCSV.php?country=' + currentChecklistCountry + '"></form>');
$('body').append(form);
form.submit();
form.remove();
}
else checklistCountryButton.classList.add("needsAttention");
}
function openChecklistPage() {
if (!currentChecklistCountry) {
checklistCountryButton.innerHTML = "Select Country";
checklistCountryButton.classList.add("needsAttention");
return;
}
if (gNumDays == undefined) gNumDays = 12;
vars = "?country=" + currentChecklistCountry;
vars += "&num_days=" + gNumDays;
vars += "&line_nos=" + lineNumbers.checked;
vars += "&left_check=" + leftCheck.checked;
vars += "&endemics=" + showEndemics.checked;
vars += "&sci_names=" + !sciNames.checked;
vars += "&italics=" + !italics.checked;
window.open( '../php/makePDF.php' + vars, '_blank' );
}
答案 0 :(得分:0)
您的输入代码是正确的,但仍有一些不正确的地方。首先,你在任何函数之外写了一个初始化器(静态方法)。请记住,当您在Unity3d C#中执行此操作时,它始终会给您一个警告/错误。
如果您使用的是C#,请不要在构造函数或字段初始值设定项中使用此函数,而是将初始化移至Awake或Start函数。
首先在这两种函数中移动那种行。
第二件事你得Vector3
并试图用它作为参考,这意味着你得到了Vector3
形式的位置参考,并且该变量中的每个变化都是有效的,这不是如果不是这样的话。
但是,你可以通过获取Transform
或GameObject
来实现,他们会为你做。
第三件也是最后一件事,你试图直接改变Vector3
组件(在你的情况下为“x”),这对Unity来说也是不可接受的。您可以做的是使用new Vector3
指定位置或创建单独的Vector3
变量,更改它,然后将其指定到位置。
因此,在所有这些地址之后,您的代码应该如下所示,
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour
{
Transform player;
// Use this for initialization
void Start ()
{
player = GameObject.FindGameObjectWithTag ("Player").transform;
}
// Update is called once per frame
void Update ()
{
if (Input.GetKeyDown (KeyCode.D)) {
// Remove one of these two implementations of changing position
// Either
Vector3 newPosition = player.position;
newPosition.x += 0.01f;
player.position = newPosition;
//Or
player.position = new Vector3 (player.position.x + 0.01f, player.position.y, player.position.z);
}
}
}