答案 0 :(得分:1)
当SpriteRenderer或Image由动画控制时,无法手动设置Sprite,必须使用动画。单击后要显示的单个帧使状态变为新状态。然后在Animator中从单击状态过渡到新状态。点击动画播放完毕后,它将转到另一个状态并显示另一个图像,直到您使其转变为再次单击为止。
对于您的特定情况,您需要为每个结果设置一个状态。因此,您将在骰子变成1时设置一个状态,在骰子变成2时设置一个状态,然后使用animation parameter类型为int的Animator.SetInteger通知动画师结果}。然后,您的transitions将具有基于结果状态表示的数字的条件。因此,对于第一种状态,条件应为“动画参数等于1”。
答案 1 :(得分:0)
看看“状态机行为”及其“ OnStateExit”方法
public Animator Anim;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
//Play Animation On CLick
Anim.Play("YourAnimation");
}
}
在状态机行为上(将此行为添加到Animator中的动画状态中)
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
//Change Sprite Code
}
请参见
答案 2 :(得分:0)
您可以通过在<p id="text"><br> Name </p>
<div>
<select name="color" id="change" onchange="signature()">
<option value="black" selected>Black</option>
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
</div>
中设置精灵来覆盖精灵对Animator的控制。最简单但可能不是最有效的方法是:
LateUpdate()
。AnimationComplete()
内设置一个标志。在AnimationComplete()
内,检查是否设置了该标志。如果是,则更改您的精灵。
LateUpdate()