iPhone游戏开发:使用到的工具和技术
本文从开发过程中使用到的工具和技术的角度,介绍了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游戏开发:使用到的工具和技术相关推荐
- 【iphone游戏开发】Iphone游戏开发之五:游戏场景切换,点阵字的实现和Hiero工具的利用
Andy--清风 原创,转载请注明,谢谢 一.游戏场景切换 在iPhone游戏开发中,游戏之间的场景开发中有很多动画可以实现,具体实现的动画如下: CCTransitionRotoZoom//从大到小 ...
- (转载)如何学好iphone游戏开发
转自:http://www.cnblogs.com/zilongshanren/archive/2011/09/19/2181558.html 自从发布<如何学习iphone游戏开发>到 ...
- 如何学习iphone游戏开发
注意,我本人也是刚接触iphone游戏开发不久,之前完全没有mac开发相关经验,只有一些c/c++和java的编程经验. 所以,我想谈一谈我在学习过程中的一些心得和体会.当然,我还会继续学习下去,如果 ...
- 如何学好iphone游戏开发
自从发布<如何学习iphone游戏开发>到现在,大概有半年时间了.其实在写<如何学习iphone游戏开发>的时候,我就写下豪言,说哪天学好了,再来写一篇<如何学好ipho ...
- 11月21日 iPhone 游戏开发技术聚会 总结
11月21日 iPhone 游戏开发技术聚会总结 早上睁眼10点多了,本来计划上午看点OPENGL,抱抱佛脚之类的.不过还有衣服要洗,草草洗了衣服.12点多了,饭还没吃呢.路上草草吃了点东西,赶向会场 ...
- iPhone游戏开发实践指南
<iPhone游戏开发实践指南>前言 编写游戏不是一项轻松的任务,即使你是个经验丰富的程序员,游戏的设计模式.术语和思考过程看上去也会有点奇怪和不合常规.由于我的大部分工作时间都投入到了创 ...
- iOS游戏开发 几个有利工具
2019独角兽企业重金招聘Python工程师标准>>> iOS游戏开发 几个有利工具 本文介绍的是iOS游戏开发 几个有利工具,为友们介绍几款开发工具,游戏爱好者记住了!先来看内容. ...
- iphone游戏开发_iPhone开发的10个步骤
iphone游戏开发 We all want to be a coding superhero, and the number of people entering the profession ha ...
- iPhone游戏开发 开始写日记
上网多年来,第一次开博客写日记,作为自学iPhone游戏开发历程记录.做些必要的学习笔记,同时作为激励自己的手段. 首先回顾一下本人概况. 1 对游戏的兴趣 从小玩红白机.中学后玩PC游戏.网络游戏, ...
最新文章
- 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
- 5.2 最优近似解 $\mathbf{\hat{x}} = A^{-1}_L\mathbf{b}$ 是最小二乘解
- 【bzoj2806】 Ctsc2012—Cheat
- C# 使用PrintDocument类打印标签
- 计算机高等数学试题及答案,北大计算机系考研_历年高等数学真题附答案
- FLASH动画之制作动画
- C/C++编程笔记:浪漫流星雨表白程序,七夕想表白,我教你啊!
- C# 使用Panel控件实现窗体嵌套
- 跳棋java_用java画跳棋棋盘
- Beyond 比对工具
- plink软件初体验3--计算样本杂合度和SNP位点杂合度
- PYTHON——自然间断点分级法
- notepad++ 插件推荐
- 业内称马航或因失联事件面临破产重组
- MySQL 数据表优化设计(九):如何设计统计数据表?
- 全球与中国氢化苯乙烯-异戊二烯嵌段共聚物市场现状及未来发展趋势
- 修改userdata的分区大小
- 电脑开机出现grub
- mongrel cluster
- UltraEdit试用期结束