iPhone程序开发 图形和动画入门指南

转载 2012年03月27日 10:49:03

原帖地址:http://mobile.51cto.com/iphone-278415.htm

iPhone程序开发 图形动画入门指南是本文要介绍的内容,不多说,直接进入话题,iPhone OS有几个框架来处理图形和动画: 

§UIKit 包含了一个面向C语言类的库,它提供了用户界面操作和2D绘图。你同样可以使用UIKit来使用户界面有活跃起来 

§Core Graphics是一个基于C语言的API(应用程序接口)用来绘制矢量图形,位图及PDF目录。(请注意Quartz 2D是2D绘画引擎的专用术语,而Core Graphics是该框架的名称,这两个术语通常被用作同义字。) 

§Core Animation 面向C语言的API对于用户界面增添了光滑的运动及动态的反馈 

§OpenGL ES是OpenGL的手机版本用于在移动设备上高品质的2D和3D绘图。它是桌面上OpenGL API的一个子集并在设计时兼顾了紧凑性和有效性。OpenGL ES框架包含了EAGL,基于C的API及为将OpenGL ES整合到Core Animation层和UIKit 视图。  
  
你可以在你的用户界面上使用UIKit来进行典型的图形操作,列如绘制图形,设置颜色,填充矩阵。它同样也是你用来传输的工具(移动,缩放,旋转)将一个视图(或屏幕)平整的传入另一个,并在你的视图或层次中创建一个生动的目录。 

当你需要更多强大的2D绘制能力时,使用Core Graphics框架。它是绘制矢量图形、线条、形状、模式、倾斜度、镜像甚至PDF文件的粗加工。更高层的框架列如UIKit,可使用Core Graphics。 

Core Animation 是一个编程界面,UIKit框架通过其来实现类的分层和转换。大多数时候,你可能不需要直接用到Core Animation。只有当你的应用程序在动画上需要进行细致的操作时会使用到它。 

在使用OpenGL ES你可能需要用到GPU提供的高级图形处理器来开发游戏或者其它应用程序。  

基本条件 

为了更好的理解iPhone OS绘图工程的基本情况,请阅读 iPhone Application Programming Guide以下章节: 

§想要了解视图层次、iPhone OS自带的坐标系统以及你在视图上可进行的操作之类的概念,请阅读 "Windows and Views"。 

§想要了解图形和动画的概念及术语介绍,请阅读"Graphics and Drawing" 。 

为了在你的iPhone 应用程序上支持图片和动画,你需要根据你的特定需要决定使用哪种边框。仔细研究用到那些框架的模板程序,来理解如何通过不同的框架将功能和方法想结合来创建一个可运行的应用程序。  

选择合适的框架 

通常情况下,你应该使用最高的框架来满足你应用程序的需要。只有当你需要更精确的操作和更强大的功能时才去使用低层框架。 

如果你打算将2D目录分层,使用UIKit框架的UIView  类。UIView  类是构建在Core Animation层之上,在iPhone OS上,使用视图去分层比使用Core Animation layers简单得多。 

如果你想要生动地将目录或视图分层,使用UIKit框架中的简单动画和Core Animation获得更精确的控制。 

如果你想要显示图像镜像,使用UIKit框架提供的UIImage and UIImageView类。 

如果你想要绘制特定,矢量的图像,使用UIKit框架提供的Core Graphics框架和UIView 类。 

如果你想要制作游戏,3D目录,或者一个具备GPU图形能力的应用程序,使用OpenGL ES框架,Core Animation的 CAEAGLLayer 类以及UIKit的UIView类。 
 
想要了解UIKit框架的类的信息,请查阅 UIKit Framework Reference。想要了解Core Graphics 和OpenGL ES框架的类,请查阅Core Graphics Framework Reference 和 OpenGL ES Framework Reference。想要了解如何将动画插入程序,请参阅iPhone Application Programming Guide中 "Graphics and Drawing"。 

绘制分层目录 

想要了解绘制分层目录,你必须对UIView Class Reference特别是对它的管理视图层次的方式熟悉。 

接着,在Xcode中打开 Metronome示例程序。注意一下 setupSubviews 这个类, 在MetronomeView.m这个文件中的方法讲述了应用程序如何建立次视图的方法。  

动画 

想要认识你应用程序中的动画目录,先阅读 iPhone Application Programming Guide中的"Animating Views"来了解那些属性你可以来制作动画。然后可查阅iPhone Application Programming Guide 中的"Applying Core Animation Effects" 。 

接下来,在Xcode中打开 MoveMe示例程序。仔细阅读下包含着几个编辑动画视图方法的MoveMeView.m 文件, animateFirstTouchAtPoint:及 growAnimationDidStop:finished:context 这两个方法展示了如何 使用UIView类来使视图形象生动。而animatePlacardViewToCenter 则展示了如何使用Core Animation 来构建主框架动画。 

想对动画制作有更深的理解,请参阅 Core Animation Programming Guide。  
   
巧妙地利用图像 

想要在你的应用程序中使用图片,你可能会对 UIImageView Class Reference 和 UIImage Class Reference感兴趣。如果你想要用户能够缩放图像,你同样需要熟悉UIScrollView Class Reference andUIScrollViewDelegate Protocol Reference。  
   
绘制定制的2D目录 

想要了解绘制2D目录,先要去阅读 iPhone Application Programming Guide中的"Drawing With Quartz and UI Kit"。接着,看看CGContext Reference,它描述了你将会使用到绘图的多数功能。 

接着,查看一下在Xcode中的示例代码Finger Sketch,你将会认识到如何构建Core Graphics,执行drawRect:方式和绘制目录都是基于用户的操作实现的。
  
想要对绘图制作有更深的了解,请阅读Overview of Quartz 2D。想要了解如何执行特定的绘图任务,例如,创建一个图案,路径,或者坡度,请在Quartz 2D Programming Guide中阅读合适的章节。  
 
通过OpenGL ES来制图 

想要学习使用OpenGL ES 来制图,请先阅读保留着OpenGL ES详述的Khronos工业协会所提供的OpenGL ES Overview。 

接着,查阅在Xcode中GLSprite示例代码。你将会在EAGLView.m 文件中看到如何为OpenGL ES目录创建一个框架缓冲器。 

想要对如何在iPhone上充分利用OpenGL ES有更深的了解,请阅读 OpenGL ES Programming Guide for iPhone OS。 

小结:iPhone程序开发 图形动画入门指南的内容介绍完了,希望本文对你有所帮助。

iOS下OpenGL ES 3.0编程入门(一):构建Hello World环境

OpenGL ES简介:      OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而...
  • sx1989827
  • sx1989827
  • 2015年08月05日 22:52
  • 14222

微信小程序 5分钟快速入门指南

11月3日,微信正式公测“小程序”。按照“微信之父”张小龙的描述,微信小程序是一种不需要下载安装即可使用的应用,用户扫一扫或者搜一下即可打开应用。 对于我们开发者来说,社会需要什么,我们是得学习什...
  • sinat_15951543
  • sinat_15951543
  • 2016年11月09日 15:55
  • 1897

写给程序员的 Mac OS X 入门指南

本文选自《开发者头条》1 月 11 日最受欢迎文章 Top 3,感谢作者 黎浔 分享。欢迎分享:http://toutiao.io/contribute断断续续重装了不知道不知道多少次Windows,...
  • walter_chan
  • walter_chan
  • 2016年01月19日 11:03
  • 1616

iphone应用程序开发指南(笔记1)

在调用视图的drawRect:方法之前,UIKit 会自动对描画环境进行配置,使左上角成为 坐标系统的原点,在这个环境中发生的Quartz 调用都可以正确地在视图中描画。   视图对象通...
  • kaizi318
  • kaizi318
  • 2012年02月11日 15:58
  • 3222

iphone应用程序开发指南(笔记2)

UIKit框架负责管理大部分关键的基础设施。UIApplication负责接收事件,响应事件则需要你的定制代码来处理。 委托是一种避免对复杂的UIKit对像,进行子类化的机制。(关乎设计模式) 触...
  • kaizi318
  • kaizi318
  • 2012年02月11日 16:14
  • 3366

iPhone应用程序开发指南

  • 2012年08月30日 13:27
  • 339KB
  • 下载

iPhone开发入门(4)---应用程序开发的第一步

这一回开始,介绍一下实际的iPhone应用程序开发的步骤。创建Xcode工程现在就让我们开始第一个iPhone应用程序吧。启动Xcode,在Xcode的菜单中点击「文件」→「新项目...」。 从模板中...
  • demigod2009
  • demigod2009
  • 2011年05月10日 21:38
  • 891

ios(iPhone)应用程序开发入门视频教程:第1讲helloworld概述

  • 2016年08月25日 15:04
  • 42.55MB
  • 下载

《iPhone4应用程序开发入门与实践》 杨正洪 (书名有误导嫌疑)

书评:        书名有误导嫌疑,书名中的iPhone4指的是iOS4(操作系统)而非iPhone4(一款手机)。该书中规中矩,总体感觉一般。如果你想开始从事iOS应用软件开发,你应该以英文书...
  • stpeace
  • stpeace
  • 2013年07月15日 20:57
  • 1884

iPhone应用程序开发指南

  • 2014年10月09日 16:39
  • 53.2MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iPhone程序开发 图形和动画入门指南
举报原因:
原因补充:

(最多只允许输入30个字)