unity实现鼠标点击位置小脚印标志
2015-09-17 23:48
513 查看
///////////////2015/09/17///////////////////
//////////////by XBW////////////////////////
/////////////环境 unity4.6.1/////////////
实现了这个无聊的功能,比较人性化了而已,看一下点击效果
看到小脚印了吗,这个可不是鼠标的图案,这是每次点击后会在点击的位置上显示一个小脚印,只是比较好看而已,没什么别的用,放心,这个小脚印只停留0.2S就会消失;
怎么实现的呢,就是获取鼠标点击位置的坐标,可让我折腾半天,竟然不知道鼠标位置坐标的原点在屏幕左下角,而不是UI的左上角,不知道之前小脚印出现的位置总是不对,经过print输出坐标才看出猫腻,这样呢,x轴并没有变化,向右为正,而y轴变了,我们要把鼠标的以向上为正转换为UI的向下为正,这样呢,我们只需Screent.height-Input.mousePosition.y;这样显示就正常了;
下面说一下过程;
再上一节的代码的Update中这样添加
至于这个触摸的我没有试验,
这个kai5就是显示小脚印的开关了;
然后在GUI中这样添加,一定要在GUI的最末端,否则小脚印会被遮挡住
我使用一个延时执行的代码;
StartCoroutine()函数,这个函数的定义如下
让小脚印停留0.2s然后kai5=1;关闭小脚印的显示,这样就好了,还是比较人性化的。
希望大家批评指正,谢谢啦,晚安了
//////////////by XBW////////////////////////
/////////////环境 unity4.6.1/////////////
实现了这个无聊的功能,比较人性化了而已,看一下点击效果
看到小脚印了吗,这个可不是鼠标的图案,这是每次点击后会在点击的位置上显示一个小脚印,只是比较好看而已,没什么别的用,放心,这个小脚印只停留0.2S就会消失;
怎么实现的呢,就是获取鼠标点击位置的坐标,可让我折腾半天,竟然不知道鼠标位置坐标的原点在屏幕左下角,而不是UI的左上角,不知道之前小脚印出现的位置总是不对,经过print输出坐标才看出猫腻,这样呢,x轴并没有变化,向右为正,而y轴变了,我们要把鼠标的以向上为正转换为UI的向下为正,这样呢,我们只需Screent.height-Input.mousePosition.y;这样显示就正常了;
下面说一下过程;
再上一节的代码的Update中这样添加
void Update () { if(Input .GetMouseButtonDown(0)==true) { sx = Input.mousePosition.x; sy = Input.mousePosition.y; kai5 = 0; } //for (var i = 0; i < Input.touchCount; ++i) //{ // if (Input.GetTouch(i).phase == TouchPhase.Began) // { // sx = Input.GetTouch(i).position.x; // sy = Input.GetTouch(i).position.y; // kai5 = 0; // } //} }
至于这个触摸的我没有试验,
这个kai5就是显示小脚印的开关了;
然后在GUI中这样添加,一定要在GUI的最末端,否则小脚印会被遮挡住
if (kai5 == 0) { GUI.DrawTexture(new Rect(sx - Screen.width * 0.05f, Screen.height - sy - Screen.height * 0.05f, Screen.width * 0.1f, Screen.width * 0.1f), p11); StartCoroutine(WaitAndPrint(0.2F)); }
我使用一个延时执行的代码;
StartCoroutine()函数,这个函数的定义如下
IEnumerator WaitAndPrint(float waitTime) { yield return new WaitForSeconds(waitTime); kai5 = 1; }
让小脚印停留0.2s然后kai5=1;关闭小脚印的显示,这样就好了,还是比较人性化的。
希望大家批评指正,谢谢啦,晚安了
相关文章推荐
- unity3d常用函数
- unity在加载场景时传递参数
- unity3d获取物体的一点总结
- Hide Warn Global In Unity
- Unity3D修改FBX文件动画名
- ubuntu 14.04 unity 管理工具 unity-tweak-tool
- 源码安装 MySQL Community Server 5.6.26
- Unity3d之C#开发(二)
- 【转】Unity中HideInInspector和SerializeField一起使用
- Unity中通过纹理截屏将图片保存到本地
- Unity基础—射线概念和API
- Unity LOD LODGroup (LOD Bias)
- unity真机调试输出log文件
- Unity融合计费接入(电信爱游戏)
- (十一年)unity4.6得知Ugui中国文献-------参考-UGUI Visual Components
- Unity游戏开发—休闲类(有源代码)
- Unity开发—简单的RPG游戏
- unity3d实现视频播放
- Unity3D研究院之Android使用ANT自动打包(七十九)
- Unity3D研究院之Assetbundle的实战(六十三)