unity3d - 使用滑块更改游戏对象的位置
问题描述
我的游戏中有 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
解决方案
我建议使用屏幕空间画布,并创建一个新的 Slider UI 元素作为该画布的子元素。
如果您对如何执行此操作感到困惑,请在线搜索 Unity uGUI 教程。
然后,您将需要编写一个脚本来定义一个在 Slider 的值更改时调用的方法;这可以通过滑块上的检查器进行设置。
该脚本应该具有对它应该移动的游戏对象的 Transform 的引用,并且它在 Slider 值更改时调用的方法应该更改 Transform 的位置成员以执行此操作。
如果您对如何执行此操作感到困惑,请在线搜索 Unity 脚本教程。
推荐阅读
- java - 基于键盘使javafx选择框选择项目
- c++ - 在 OpenMP 中,我们如何并行运行多个代码块,其中每个代码块包含 omp single 和 omp for 循环?
- python - 如何在硒上循环执行脚本?
- php - 调用未定义的函数 get_translations_for_domain() Wordpress
- r - 如何用 R 处理 csv 行的中断?
- javascript - 如何根据列表中的复选框禁用 Vue 动态按钮
- c++ - 为什么 rand() % N 对于小型分布来说足够了?
- mongodb - MongoDB:如何根据文档字段计算更新文档字段?
- coldfusion - Coldfusion 自动刷新表输出中的字段
- python - 从列表中获取字符串和字符串长度到字典中