我是 unity3d 的初学者,我正在努力使 Ui 锚点最小最大位置与移动时按钮位置相同,我的目标是尝试实现如下图所示。
正如您所看到的,当按钮移动锚点时,最小最大不跟随它,我应该以什么方式使用 C# 解决这个问题?目前我使用以下脚本移动按钮:
public GameObject SaleButtonPrefab;
//To loop all the list
for(int i = 0; i < playerList.Count; i++)
{
//Instantiate the button prefab and make a parent
GameObject nu = Instantiate(SaleButtonPrefab) as GameObject;
nu.transform.SetParent(ParentButton.transform, false);
//To set the position
nu.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, (i*-301) - 0);
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
using UnityEngine; using System.Collections;
public class ClickToMoveScript : MonoBehaviour
{
public string Chopping = "Chopping";
public void PlayWoodCuttingAnim()
{
//Play Woodcutting Animation
gameObject.GetComponent<Animation>().CrossFade (Chopping);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的其他剧本
using UnityEngine;
using System.Collections;
public class WoodCuttingScript: MonoBehaviour
{
ClickToMoveScript ClickToMove;
void Start()
{
ClickToMove.PlayWoodCuttingAnim();
}
}
Run Code Online (Sandbox Code Playgroud)
http://i.stack.imgur.com/wt0mN.png
如您所见,上面的链接^我已经在动画组件中添加了动画。
我发现的另一件事是,如果我在ClickToMove脚本中调用PlayWoodCuttingAnim()函数,则可以正常工作,但在其他脚本中,它可以正常工作。
错误控制台> NullReferenceException:对象引用未设置为对象的实例。
任何帮助将不胜感激