[英]how to change the Visibility Property of button in the user control in the run time of the application?
[英]Change which objects button control over time
我正在制作一个游戏,玩家只能旋转他们所站立的当前牌。 我正在使用OnCollisionStay和Input.horizontal以及vertical来实现这一目标。 它适用于键盘,但我的目标是使其适用于移动设备。
我的问题是,当玩家移动时,我如何让UI按钮控制不同的图块。 所以基本上我需要切换按钮控制的哪个图块,因为玩家移动到下一个图块。 希望这是有道理的。 现在每个磁贴都有自己的脚本。 我在下面列出了其中一个。
谢谢!
void OnCollisionStay(Collision collision)
{
if (collision.gameObject.tag == "Player")
{
float rotateright = Input.GetAxis("Horizontal") * rotatespeed;
float rotateleft = Input.GetAxis("Vertical") * rotatespeed;
transform.Rotate(0, rotateright, 0);
transform.Rotate(rotateleft, 0, 0);
}
}
使用OnCollisionStay来实现这样的功能并不理想。
例如,如果您的角色对象一次重叠两个碰撞器,它将同时旋转,导致各种空间混乱。
更好的想法是将当前磁贴存储在公共的类范围变量中,并通过单独的函数对其进行操作。 然后,您可以使用OnCollisionEnter检查何时输入新图块。
例:
GameObject currentTile;
void Update (){
ControlCheck();
}
public void ControlCheck(){
if (currentTile != null){
// Rotation code goes here
}
}
void OnCollisionEnter(Collision obj){
currentTile = obj.transform.gameObject;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.