使用Unity 3D免费版本编写游戏的教程.pdfVIP

  • 4
  • 0
  • 约1万字
  • 约 11页
  • 2020-06-08 发布于陕西
  • 举报
使用Unity 3D 免费版本编写游戏的教程 这系列文章的第三部分会比较有趣,因为我们将越过PC/Mac 而开始支持iOS 和Android !Unity4通过将 这些平台的授权版本改为免费版本而实现了这种可能性。我在这一过程中学到了许多重要内容,并希望能 够在此与你们进行分享。 请先阅读有关这一Unity 3D 教程的第一部分和第二部分内容。你将会注意到我在此舍弃了我们之前所使用 的JavaScript 。因为我发现这里的语法都十分相似,所以我们不再需要从一种语言转换到另一种语言。所 以我会只是用C#去执行Unity。 在第三部分教程中,我们将讨论到以下内容: 改变第一部分和第二部分的会议版本游戏 支持加速器,触屏,键盘 使用动态字体去创造具有独立分辨率的UI,即能够作用于手持设备和传统计算机 在没有键盘(虚拟或其它)时收集输入内容将发挥功效 面向iOS 和Android 的Unity 创建设置 执行设置 代码已经在GitHub 上更新了,所以你可以免费下载它并基于任何方式进行改变。 游戏已经在以下平台上成功测试过了: 1.PC 2.Mac 3.iPad (第四代) 4.iPhone5 5.Kindle Fire (第一代) 6.三星Galaxy S2 7.三星Galaxy S3 8.三星Galaxy Nexus 9.HTC Desire 10.DroidX 改变会议版本游戏 游戏的会议版本是为了市场营销目的而创造的。因此,在用户玩游戏前,屏幕会为了获取某些信息而出现。 游戏只会保存玩家第一次玩游戏的分数。但是这不通用且不能创造游戏乐趣。所以在这个版本中,我们舍 弃了信息屏幕,并设定只要分数是在前10内便能够得以保存。同样的,比起所有市场营销信息,现在它只 会询问首字母内容(为了让它显得更有趣我设置了一些标点字符和数字)。 支持加速器,触屏和键盘 在最初宣称手机授权的免费版本时,我希望看到游戏是否可以不做出任何改变而运行于手机上。所以我便 创造了构建设置并面向Android 进行编译,然后将文件复制到我的三星Galaxy S3上进行尝试。我轻敲了 开始游戏按键,然后在数据输入域中输入了我的信息。到目前为止一切都很棒! 在屏幕出现“按压空格以开始”的内容前,所有一切都进展顺利。当然,手机上并没有空格键,也没有其 它方法能够获得虚拟按键。那时候我以为“这非常简单”,并想着如何像按压按键那样创造一个轻拍行动。 着眼于Input.touches 文件以及TouchPhase.Stationary 引导着我首次尝试使用碰触作为按压行动。我会使 用Stationary 是因为觉得“我只想要它能传达用户的手指还未移走。” 我同样也在寻找一些通用方法去明确代码是否能够运行于手机设备上。我想出的最有用的方法便是测试加 速器以避免陷入检查操作系统附带条件的琐事中。尽管这可能不适用于所有手机设备,但却在我尝试的所 有设备中都能够发挥功效,并能够替代像“supportsTouch ”等内容。 bool touched = false; bool space = false; if (SystemInfo.supportsAccelerometer) { foreach (Touch touch in Input.touches) { if (Input.touchCount == 1 touch.phase == TouchPhase. Stationary) { touched = true; break; } } } else if (Input.GetKeyDown(KeyCode.Space)) { space = true; } if (touched || space) { // fire weapon } 这一方法在某种程度上是有用的。结果便是,Stationary 代表着“面向每一帧都返回yes ,与此同时用户的 手指一直停留在屏幕上未移动”,这便意味着我是无意中执行了自动射击。最终我在用户获得1万个分数点 时使用该方法进行升级。而为了限制“每次轻敲射击一次”,我使用了TouchPhase.began 。 所以碰触是作用于射击。简单地测试Input.touchCount = 2让我能够支持打开防护物,即在“S”之前所做 的那里。其它“碰触”添加是关于,如果3个手指按住主屏幕,“重设数据”按键便会出现。这替代了之前 打入“key”进行呈现的方法。 现在我们便可以射击并拥有防护物了,但是我们仍然不能移动。所以是时候加入加速器了。我希望不管用 户是使用倾斜还是方向键,我

文档评论(0)

1亿VIP精品文档

相关文档