[雨松MOMO程序研究院]Unity3D研究院之IOS实现平面多点触摸(二)
转载自 http://www.xuanyusong.com/archives/466
在上一章中已经介绍了Unity for 3D 游戏引擎的构建,从本章以后我将带领大小盆友们一起更进一步的学习Unity游戏引擎。先从Unity平面开始,本章介绍Unity 平面上的多点触摸。
点击File->New Project 创建一个工程,可以使用默认 或者 名称随便起一起即可。点击继续完成创建工程。
Scene:游戏场景视图,这里面可以摆放任意场景模型。
Camera Preview:摄像头正对方向屏幕显示内容
MainCamera:创建工程后默认会添加游戏的主摄像头,在场景视图中我们可以看见 MainCamera在三维坐标系中的位置。
我们今天的目标实际上就是让摄像头正对一个平面,在这个平面中实现多点触摸。
下面介绍一下脚本的使用,为了让摄像头显示我们须要给主摄像头绑定脚本,如下图所示,点击红框内的Create 出现下拉列表,先创建两个文件夹,Image用来存放图片,Scripts用来存放脚本。 因为iPhone 4 的分辨率是960×640 所以找到一张 960×640的图片做为屏幕背景图,然后在找一张小一点的图片做为触摸后在屏幕中显示的图片。
Unity支持三种的脚本分别是javascript,C# Script,Boo Script, 官方推荐使用javascript来编写,所以我们也就用javascript。但是实际开放中我比较喜欢用C#。
创建一个脚本名称为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 就算出触摸正确的显示坐标。
var imageMenu :Texture2D; var imageItem :Texture2D; function OnGUI () { GUI.DrawTexture(Rect(0,0,640,960),imageMenu); var touchCount = Input.touchCount; for(var i = 0; i < touchCount; i++) { var iPos = Input.GetTouch(i).position; var x = iPos.x; var y = iPos.y; GUI.DrawTexture(Rect(x,960 - y ,120,120),imageItem); GUI.Label(Rect(x, 960 - y,120,120),"Touch position is " + iPos); } }
脚本已经添加完毕,接下来是绑定变量。
先将menu.js拖拽到Maincamera中,可以看到右下角红框中出现两个没有赋值的变量 ImageMenu 与ImageItem ,因为上面脚本中声明了这两个变量,这里就会出现。在这里须要对这两个变量赋值。然后拖拽图片放入为其赋值。
OK 接下来就是build and run ,具体方法见上一章,这里就不罗嗦了。 我们看看运行在iPhone上的真机效果图。
因为Unity3D for iPhone 只支持 5点触摸,所以我将5根手指头放入iPhone 4中 图中清楚的记录我的5根手指头所在屏幕中的位置,以及正确的贴上了须要显示的图片。
哇咔咔~~同样也希望各位技术达人可以和MOMO一起进行交流~~ 一起进步喔~~
相关推荐
FingerGestures研究院之初探Unity手势操作(一) iTween研究院之学习笔记Move移动篇(一) Android研究院之应用程序...Unity3D研究院之构建游戏框架与导出IOS项目(一) Unity3D视频开发教程之开始学习Unity(一)
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放,欢迎大家下载阅读,哇咔咔~~
Unity3D游戏引擎-雨松MOMO原创文章
"MOMO雨松的unity3d游戏开发"可能是一个教程系列或者是一位开发者分享的游戏开发经验集合。 在Unity3D中,游戏开发涵盖了许多关键知识点: 1. **场景构建**:Unity使用场景(Scene)来组织游戏环境,每个场景包含...
在本篇Unity3D游戏引擎教程中,作者雨松MOMO向我们介绍了Unity3D的基本使用方法以及如何在iOS平台上构建和导出项目。 首先,作者引导读者了解Unity3D游戏引擎的基本概念,并强调了官方网站下载的重要性,推荐使用...
#### 二、构建Unity3D游戏框架与导出iOS项目 - **构建游戏框架**: - Unity内置的编辑器提供了丰富的工具,用于构建游戏世界和设计游戏逻辑。 - 包括但不限于创建游戏对象、编写脚本、设置物理引擎参数等。 - **...
Unity3D是一款由Unity Technologies开发的跨平台游戏引擎,广泛应用于2D、3D游戏、建筑可视化、实时模拟等领域。它支持各种游戏平台的开发,包括但不限于PC、移动设备、网页和游戏机。在本文中,我们将详细探讨Unity...
本文将深入探讨Unity3D如何实现与iOS的高级界面消息反馈。 首先,Unity3D引擎提供了UnityPlayer类,它是Unity与iOS原生代码之间的桥梁。通过UnityPlayer,开发者可以调用Objective-C或Swift的方法,实现与iOS系统的...
《雨松MOMO安卓博客课程》是一份精心整理的Android开发学习资源,包含了雨松MOMO博主的32篇文章精华。这个合集旨在为Android开发者,尤其是初学者提供一条系统化的学习路径,帮助他们深入理解Android开发的核心概念...
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之iOS自定义游戏摇杆与飞机平滑的移动,欢迎大家下载阅读,哇咔咔~~
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之IOS高级界面发送消息与Unity3D消息的接收,欢迎大家下载阅读,哇咔咔~~ 转与缩放,欢迎大家下载阅读,哇咔咔~~
雨松MOMO游戏与软件开发大讲堂 大汇集 博文第一篇到博文第三十二篇所有Android开发博文大合集,以及所有博文中附带的源代码,一共将近50M,Android开发资源 ,给力推荐 。欢迎大家下载阅读,持续给力~~哇咔咔~~
《雨松MOMO安卓博客课程》是一套专注于Android开发的学习资源,旨在帮助开发者深入理解和掌握Android应用开发的各项技能。该课程可能包含了从基础到高级的各个层面,适合初学者和有一定经验的开发者进行自我提升。 ...
《MOMO-雨松-安卓博客课程打包》是一份集合了安卓开发基础知识与实践的珍贵资源包。这个压缩文件由“MOMO-雨松”这位在安卓开发领域有一定影响力的博主精心整理,旨在帮助学习者系统地掌握安卓应用开发的各项技能。...
在本教程中,我们将深入探讨如何利用Unity3D实现平面小球的重力感应功能,尤其针对iPhone、iPad等iOS设备进行优化。这一特性使得游戏体验更加真实,增强了玩家的沉浸感。 首先,我们需要理解Unity3D中的物理系统。...
雨松MOMO Unity3D 游戏开发系列博文之Unity3D 游戏引擎之详解游戏开发音频的播放,欢迎大家下载阅读,哇咔咔~~
"关于作者.txt"可能是作者雨松MOMO的介绍,你可以从中了解他的经验和对Android游戏开发的理解。 总的来说,理解和掌握Android的触摸事件处理机制,以及如何适配单点和多点触摸,是Android游戏开发的基础。通过实践...
同时,事件监听和触摸事件处理也是Android应用不可或缺的部分,这些在雨松MOMO的教程中都有详尽的讲解。 三、Android网络编程 网络编程是现代应用的重要组成部分,教程会涵盖HTTP请求库的使用,如OkHttp和Retrofit...