首页 > 解决方案 > 使用滑块更改游戏对象的位置

问题描述

我的游戏中有 4 个游戏对象,我想用滑块更改这些对象的 X 和 Y 值。但我不知道我会怎么做。我需要帮忙。

现在,我使用下面的代码使用按钮播放动画,但我想用滑块更改游戏对象的位置。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playbut : MonoBehaviour {
public GameObject anim;
public GameObject anim1;
public GameObject anim2;
public GameObject scrool;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
public void OnClick(){
    anim.GetComponent<Animator> ().Play ("div");
    anim1.GetComponent<Animator> ().Play ("div1");
    StartCoroutine(WaitandPrint(2));
    anim2.GetComponent<Animator> ().Play ("div2");
}


private IEnumerator WaitandPrint(float waitTime)
{
    yield return new WaitForSeconds (waitTime);

    scrool.SetActive (true);
}

}

这是我想要的:

游戏对象的所有位置都是 X:-2.6 Y:-2.09 但是当我滑动滑块时,游戏对象的位置应该是这样的:

游戏对象 1 = X:2.5 Y:-0.03

游戏对象 2 = X:-5.74 Y:0.09

游戏对象 3 = X:-2.18 Y:2.48

游戏对象 4 = X:-2.6 Y:-2.09

标签: unity3d

解决方案


我建议使用屏幕空间画布,并创建一个新的 Slider UI 元素作为该画布的子元素。

如果您对如何执行此操作感到困惑,请在线搜索 Unity uGUI 教程。

然后,您将需要编写一个脚本来定义一个在 Slider 的值更改时调用的方法;这可以通过滑块上的检查器进行设置。

该脚本应该具有对它应该移动的游戏对象的 Transform 的引用,并且它在 Slider 值更改时调用的方法应该更改 Transform 的位置成员以执行此操作。

如果您对如何执行此操作感到困惑,请在线搜索 Unity 脚本教程。


推荐阅读