打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Unity3D 游戏引擎之实现平面多点触摸(二)

 Unity游戏引擎之实现平面多点触摸


 


 


 


在上一章中已经介绍了Unity for 3D 游戏引擎的构建,从本章以后我将带领大小盆友们一起更进一步的学习Unity游戏引擎。先从Unity平面开始,本章介绍Unity 平面上的多点触摸。





点击File->New Project 创建一个工程,可以使用默认 或者 名称随便起一起即可。点击继续完成创建工程。


 


 


 



 


 


 


 


Scene:游戏场景视图,这里面可以摆放任意场景模型。


Camera Preview:摄像头正对方向屏幕显示内容


MainCamera:创建工程后默认会添加游戏的主摄像头,在场景视图中我们可以看见 MainCamera在三维坐标系中的位置。


 


 



 


 


 


我们今天的目标实际上就是让摄像头正对一个平面,在这个平面中实现多点触摸。


下面介绍一下脚本的使用,为了让摄像头显示我们须要给主摄像头绑定脚本,如下图所示,点击红框内的Create 出现下拉列表,先创建两个文件夹,Image用来存放图片,Scripts用来存放脚本。 因为iPhone 4 的分辨率是960x640 所以找到一张 960x640的图片做为屏幕背景图,然后在找一张小一点的图片做为触摸后在屏幕中显示的图片。


 


 


 



 


 


 Unity支持三种的脚本分别是javascript,C# Script,Boo Script, 官方推荐使用javascript来编写,所以我们也就用javascript。





创建一个脚本名称为menu.js,声明了两个变量 imageMenu 与 imageItem 来储存游戏背景显示与游戏触摸显示的纹理图片。


function OnGUI () : 这个方法用来通知屏幕绘制。


DrawTexture: 绘制纹理。


Label:绘制一个文本。


iPhoneInput.touchCount :得到多点触摸的数量。


iPhoneInput.GetTouch(i).position: 得到循环中每一个多点触摸的位置。


iPos.x : 触摸的x坐标


iPos.y : 触摸的y坐标(左上角为00点的Y坐标)


GUI.DrawTexture(Rect(x,960 - y ,120,120),imageItem);


960 - y : 因为取得的y坐标是左上角00点的坐标,而Unity绘制是以左下角为00点的坐标,不处理直接用y的话坐标就是一个反的,所以这里用 iPhone 4的 高度 960  减去 当前触摸的Y 就算出触摸正确的显示坐标。


 


 


 


 


  1. var imageMenu :Texture2D; 
  2.  
  3. var imageItem :Texture2D; 
  4.  
  5. function OnGUI () { 
  6.  
  7.     GUI.DrawTexture(Rect(0,0,640,960),imageMenu); 
  8.    
  9.      var touchCount = iPhoneInput.touchCount; 
  10.      for(var i = 0; i < touchCount; i++) 
  11.      { 
  12.         var iPos = iPhoneInput.GetTouch(i).position; 
  13.         var x = iPos.x; 
  14.         var y = iPos.y; 
  15.          
  16.         GUI.DrawTexture(Rect(x,960 - y ,120,120),imageItem); 
  17.          
  18.         GUI.Label(Rect(x, 960 - y,120,120),"Touch position is  " + iPos); 
  19.      } 
  20.  
  21.  

 


 


 


脚本已经添加完毕,接下来是绑定变量。


先将menu.js拖拽到Maincamera中,可以看到右下角红框中出现两个没有赋值的变量 ImageMenu 与ImageItem ,因为上面脚本中声明了这两个变量,这里就会出现。在这里须要对这两个变量赋值。然后拖拽图片放入为其赋值。


 


 


 



 


 


OK 接下来就是build and run ,具体方法见上一章,这里就不罗嗦了。 我们看看运行在iPhone上的真机效果图。


 


因为Unity3D for iPhone 只支持 5点触摸,所以我将5根手指头放入iPhone 4中 图中清楚的记录我的5根手指头所在屏幕中的位置,以及正确的贴上了须要显示的图片。


 


 


 



 


 


 


哇咔咔~~同样也希望各位技术达人可以和MOMO一起进行交流~~ 一起进步喔~~


 


 

本文出自 “雨松MOMO的程序世界” 博客,请务必保留此出处http://xys289187120.blog.51cto.com/3361352/689265


     
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
<Unity3D>Unity3D入门篇------第三讲GUI控件之一
学习好unity的几个好的步骤
货车载物:当克隆体遇上变量计数,互动提示不必设置太复杂
[unity3d]屏幕坐标跟世界坐标的转换
重积分的变量代换公式
Unity3D倒计时两种方法 | Unity3D教程手册
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服