我正在尝试在Unity中创建一个2D游戏。我的游戏玩家有一些像涂鸦军队一样的功能。我希望旋转我的玩家手和头部限制到45度上下像涂鸦军队玩家两边。我使用两个操纵杆进行移动,第二个用于瞄准目标。因此,第二个操纵杆可以在操纵杆移动的方向上旋转手和头部。我想将这种旋转限制在两侧上下45度(左和右(上下))。
任何人都可以帮助我。
这是我用旋转2d精灵手臂和头部的小代码。
using UnityEngine;
using System.Collections;
using UnityStandardAssets.CrossPlatformInput;
public class PlayerRotation : MonoBehaviour {
public float moveForce = 5, boostMultiplier = 2;
GameObject ga;
// Use this for initialization
void Start () {
ga = GameObject.Find ("Charac_Head");
}
// Update is called once per frame
void FixedUpdate () {
Vector2 moveVec = new Vector2 (CrossPlatformInputManager.GetAxis ("Horizontal2"),
CrossPlatformInputManager.GetAxis ("Vertical2")) * moveForce;
//ga.transform.LookAt(transform.position.toVector2() + moveVec);
//ga.transform.Rotate (0, 0, moveVec.y);
if (moveVec.y <= 4.0f && moveVec.y >= -4.0f) {
//ga.transform.right = moveVec;
ga.transform.Rotate(0,0,moveVec.y);
Debug.Log (moveVec);
}
//}
}
}
答案 0 :(得分:1)
您可以使用Mathf.Clamp在最小值和最大值之间强制执行最终值
我没有测试代码,但我告诉你你需要什么:
<TextBlock Margin="0,150,0,0"
TextAlignment="Center"
Background="White"
IsEnabled="{Binding ShowProgressRing}">
<Hyperlink x:Name="HyperLink"
Foreground="Blue"
TextDecorations="UnderLine"
FontSize="12"
FontWeight="SemiBold"
Command="{Binding Path=Command}" >
<Run Text="{Binding Path=HyperLinkText}"/>
</Hyperlink>
</TextBlock>