新手求大神帮助啊.unity3d里面怎么实现物体绕某一点跟随鼠标旋转

新手求大神帮助啊.unity3d里面怎么实现物体绕某一点跟随鼠标旋转,第1张

如题,我想做两个按键,让一个模型能够绕一个轴正负方向旋转,按其中一个按键一次就旋转30度,再按一次这个按键就再旋转30度,也就是按4次就能-60度到60度
现在只能实现转一次,而且按钮的位置也不会改,求大神帮忙看看,最好告诉我用什么语句,提示提示思路啥的也行。
我用itween插件,虽然能设置动画和指定角度,但是不会写按键触发,也只能旋转一次。宣雨松那个教程全是用JS写的,我都用的C#
现有的代码贴下
using UnityEngine;
using SystemCollections;
public class rotate : MonoBehaviour {
//碰撞的游戏对象
private CharacterController controller = null;
//旋转速度,暂时不用private float rotateSpeed = 50f;
void start()
{ //获取角色控制器对象
controller = GetComponent<CharacterController>();
}
void OnGUI()
{ //暂无法控制此按键在游戏中位置?!
if(GUILayoutRepeatButton("向右旋转"))
{ //绕Y轴旋转
//暂时不用transformRotate(0,-rotateSpeed,0);
thistransformrotation = QuaternionEuler(0,0,-30);
}
if(GUILayoutRepeatButton("向左旋转"))
{
//暂时不用transformRotate(0,rotateSpeed,0);
thistransformrotation = QuaternionEuler(0,0,30);

看这个代码貌似GUILabel会是总是存在的。
可以尝试用用bool变量进行区分。
bool tooltip1=false;
bool tooltip2=false;
function OnGUI()
{
if(GUIButton(Rect(10,10,120,110),GUIContent("我的按钮","这是第一个工具提示")))
{
print("用户单击了按钮");
tooltip1=true;
}
if(tooltip1)
{
GUILabel(Rect(10,120,100,20),GUItooltip);
}
if(GUIButton(Rect(210,210,120,110),GUIContent("我的按钮02","这是第二个工具提示")))
{
print("用户单击了按钮");
tooltip2=true; }
if(tooltip2)
{
GUILabel(Rect(110,120,100,20),GUItooltip);
}

}
这样就能够区分了。
接下来需要做的就是找一种方式将tooltip1和tooltip2重新置为false
这个我个人的方法是在update里面检测鼠标右键点击事件。
新手自学,这些是我个人的想法,如果不正确或者有好方法,请一定告诉我,谢谢了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13328214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存