本文从开发过程中使用到的工具和技术的角度,介绍了iPhone游戏开发主要用到这些技术和工具:Objective-C或C/C++, Xcode, UIKit, Quartz 2D, Core Animation, OpenGL, audio APIs, networking, GameKit。

AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验

从小到大都有游戏梦,所以希望能开发出自己的游戏。iPhone游戏开发主要用到这些技术和工具:Objective-C或C/C++, Xcode, UIKit, Quartz 2D, Core Animation, OpenGL, audio APIs, networking, GameKit。

开发工具与环境

iPhone开发使用的语言是objective-c。objective-c是c语言的扩展,给c简单直接的面向对象的特性。iPhone所有的api接口都是用objective-c实现的,但是也有些非接口部分是使用c/c++实现的。所以你需要熟练使用objective-c,对c/c++也有一定的了解。

开发工具是Xcode,是一款功能强大的IDE。

UIKit

UIKit提供了一种最简单的方式来绘制图形和UI元素。使用UIKit显示和定位位图是非常简单的,由于低层的硬件加速,速度还是蛮快的。对于游戏开发,图形和动画很少的游戏,使用UIKit是个非常不错的选择。

下图是款完全使用UIKit开发的小游戏,没有直接用到OpenGL ES。它也有有大量图形和动画元素,它几乎接近了UIKit中可以做到的图形帧速率限制。如果你想添加更多的图形,那么你就要使用OpenGL ES ,来确保它能快速的运行在所有的设备上。

下图也是一个有UIKit开发的游戏。它不需要OpenGL ES提供的强大的图形渲染功能。它是一个文字的游戏,只要一个很小的背景动画。所以UIKit非常适合这样开发。

Quartz 2D和Core Animation

Quartz 2D也被称为Core Graphics。它提供了一个更为高级的,更底层的绘制引擎。Quartz 2D提供了很多有用和强大的功能,如屏幕渲染,透明层,绘制线条。这些功能派上用场了,许多游戏开发者不喜欢屏幕上画雷达,迷你地图,弯曲的路径,和其他UI元素的东西。虽然它可能用于渲染的一个游戏的主要内容过于缓慢,但是Quartz 2D也是iPhone开发者的的宝贵工具。

Core Animation为开发人员提供了一种移动和转换UI元素最省力的方法。使用Core Animation,你能够创建硬件加速,使用位置,旋转,透明度等属性创建基于时间的动画。Core Animation也可以用来实现视图之间的过渡。提供了很多内置的过渡方法。

OpenGL ES

OpenGL ES最重要的工具,是最快的图形渲染方式,也使它能支持3D模型。

下图是有OpenGL ES渲染出的3D图形

下图是由OpenGL ES渲染出的2D模型

Audio APIs

游戏离不开声音效果,iPhone开发有对在游戏中使用声音有多种选择。比如更为高级的API:OpenAL,更为简单的:内置的服务。使用哪种取决于你的游戏需要。使用Audio API,你可以流音频,播放短的声音,甚至是在三维空间模拟音频定位。

Networking

iPhone给开发人员提供了很多的连接技术。比如实时多人的游戏可以通过在服务器和客户端通过socket和流进行连接,或通过GameKit的蓝牙配对。

iPhone游戏开发:使用到的工具和技术相关推荐

  1. 【iphone游戏开发】Iphone游戏开发之五:游戏场景切换,点阵字的实现和Hiero工具的利用

    Andy--清风 原创,转载请注明,谢谢 一.游戏场景切换 在iPhone游戏开发中,游戏之间的场景开发中有很多动画可以实现,具体实现的动画如下: CCTransitionRotoZoom//从大到小 ...

  2. (转载)如何学好iphone游戏开发

    转自:http://www.cnblogs.com/zilongshanren/archive/2011/09/19/2181558.html 自从发布<如何学习iphone游戏开发>到 ...

  3. 如何学习iphone游戏开发

    注意,我本人也是刚接触iphone游戏开发不久,之前完全没有mac开发相关经验,只有一些c/c++和java的编程经验. 所以,我想谈一谈我在学习过程中的一些心得和体会.当然,我还会继续学习下去,如果 ...

  4. 如何学好iphone游戏开发

    自从发布<如何学习iphone游戏开发>到现在,大概有半年时间了.其实在写<如何学习iphone游戏开发>的时候,我就写下豪言,说哪天学好了,再来写一篇<如何学好ipho ...

  5. 11月21日 iPhone 游戏开发技术聚会 总结

    11月21日 iPhone 游戏开发技术聚会总结 早上睁眼10点多了,本来计划上午看点OPENGL,抱抱佛脚之类的.不过还有衣服要洗,草草洗了衣服.12点多了,饭还没吃呢.路上草草吃了点东西,赶向会场 ...

  6. iPhone游戏开发实践指南

    <iPhone游戏开发实践指南>前言 编写游戏不是一项轻松的任务,即使你是个经验丰富的程序员,游戏的设计模式.术语和思考过程看上去也会有点奇怪和不合常规.由于我的大部分工作时间都投入到了创 ...

  7. iOS游戏开发 几个有利工具

    2019独角兽企业重金招聘Python工程师标准>>> iOS游戏开发 几个有利工具 本文介绍的是iOS游戏开发 几个有利工具,为友们介绍几款开发工具,游戏爱好者记住了!先来看内容. ...

  8. iphone游戏开发_iPhone开发的10个步骤

    iphone游戏开发 We all want to be a coding superhero, and the number of people entering the profession ha ...

  9. iPhone游戏开发 开始写日记

    上网多年来,第一次开博客写日记,作为自学iPhone游戏开发历程记录.做些必要的学习笔记,同时作为激励自己的手段. 首先回顾一下本人概况. 1 对游戏的兴趣 从小玩红白机.中学后玩PC游戏.网络游戏, ...

最新文章

  1. 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
  2. 5.2 最优近似解 $\mathbf{\hat{x}} = A^{-1}_L\mathbf{b}$ 是最小二乘解
  3. 【bzoj2806】 Ctsc2012—Cheat
  4. C# 使用PrintDocument类打印标签
  5. 计算机高等数学试题及答案,北大计算机系考研_历年高等数学真题附答案
  6. FLASH动画之制作动画
  7. C/C++编程笔记:浪漫流星雨表白程序,七夕想表白,我教你啊!
  8. C# 使用Panel控件实现窗体嵌套
  9. 跳棋java_用java画跳棋棋盘
  10. Beyond 比对工具
  11. plink软件初体验3--计算样本杂合度和SNP位点杂合度
  12. PYTHON——自然间断点分级法
  13. notepad++ 插件推荐
  14. 业内称马航或因失联事件面临破产重组
  15. MySQL 数据表优化设计(九):如何设计统计数据表?
  16. 全球与中国氢化苯乙烯-异戊二烯嵌段共聚物市场现状及未来发展趋势
  17. 修改userdata的分区大小
  18. 电脑开机出现grub
  19. mongrel cluster
  20. UltraEdit试用期结束

热门文章

  1. 董老师又双叒叕送书啦,8本《Python数据分析、挖掘与可视化(慕课版)》
  2. 【安全资讯】个人信息保护新规将出台 消费者被短信轰炸将成为历史
  3. 图神经网络 —— 排列不变函数
  4. jobunit: calljob
  5. 利用PIFU-HD生成自己的三维人体图像
  6. 四旋翼无人机学习第8节--OpenMV电路分析
  7. 利用JUZ包实现文件压缩和解压
  8. SQLite虚表介绍
  9. torch.Tensor常用数据操作汇总与自动求梯度
  10. 使用Qt创建一个C语言工程