[英]Android Controller for Unity game
我当时在Unity 3D中制作游戏,并使用统一的一键式转换器在Android .apk中对其进行了转换。
游戏正在Android手机中打开,但播放器没有移动
播放器控制器脚本:
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public Vector2 moving = new Vector2();
public int Bulletlimit = 0;
public int MaxBulletlimit = 3;
public bool Gun;
private float lastShotTime ;
public float fireDelay = 0.2f;
public Transform BulletDirection;
public Bullet bullet;
// Use this for initialization
void Start () {
lastShotTime = Time.time;
}
// Update is called once per frame
void Update () {
moving.x = moving.y = 0;
if (Input.GetKey ("right")) {
moving.x = 1;
} else if (Input.GetKey ("left")) {
moving.x = -1;
}
if (Input.GetKey ("up")) {
moving.y = 1;
} else if (Input.GetKey ("down")) {
moving.y = -1;
}
if (Input.GetKey ("s")) {
if(Gun){
if(Bulletlimit < MaxBulletlimit)
{
if(Time.time > lastShotTime + fireDelay)
{
Bullet clone = Instantiate (bullet, BulletDirection.position, Quaternion.identity) as Bullet;
Bulletlimit = Bulletlimit + 1;
lastShotTime = Time.time;
}
}
}
}
}
public void BulletCount()
{
Bulletlimit = Bulletlimit - 1;
}
}
如何使他在触摸屏中移动?
您的代码基于击键-(可能)不会应用于您的触摸屏。
您可以通过几种方法来完成此操作,对于如此简单的操作,我可能会尝试添加一个Canvas以及一些用作控件的按钮。
从那里,您可以使用OnMouseDown()/ OnMouseUp()/ OnClick()方法(这也会转换为触摸屏)而不是击键。
您如何选择编码方式,但是您必须做出选择,但在这种情况下,我可能会使用按钮来打开/关闭移动布尔并在Update()方法中选中/应用它们。
如果您不确定如何使用新的统一用户界面,请尝试此...
https://unity3d.com/learn/tutorials/modules/beginner/ui/ui-canvas
如果您运行的是unity的新版本(我认为当前为5.1),则我的编辑器看上去与教程有所不同,并且由于某些原因不会保留默认设置。 如果某些选项似乎丢失,只需将编辑器/检查器视图设置为默认视图即可。
您可以使用实际的触摸输入来做更复杂的事情,但是在这种情况下,我认为您不必为此担心。
希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.