1.4 阅读前提几乎每本编程书籍都要求读者具备一些特定的知识,其中有些是必须知道的,还有些是有助于理解但不是必需的。本书也不例外。1.4.1 编程经验本书唯一的强制性要求就是你必须拥有一定程度的编程经验。...
1.3 本书读者对象我猜测你之所以挑选本书是因为它的书名吸引了你。也许你是想为iPhone或iPad开发2D游戏,并且选择了iPhone版cocos2d作为游戏引擎。或许你并不在乎选用什么游戏引擎,而仅仅是想为iOS设备开发2D游...
1.2 注意事项我想到两个对cocos2d开发者来说非常重要的问题,所以先在这里提一下。1.2.1 Section 3.3.1虽然Section 3.3.1这个名称听起来有点像是电影《星际旅行》里的某个秘密政府组织,但它实际上是苹果公司...
1.1 选择iPhone版cocos2d的理由游戏开发者在选择游戏引擎时首先会对他们要选择的产品做一些评估。综合以下因素,我认为cocos2d对许多开发者来说会是一个非常棒的选择。1.1.1 免费首先,cocos2d是免费的。不需要...
可曾想象,有朝一日你会自己写一个计算机游戏然后靠它赚钱?有了Apple的iTunes App Store及其配套移动设备,如iPhone、iPod Touch和iPad,要实现这个梦想不再是一件难事。当然,这并不表示开发一个游戏有多简...
《iPhone & iPad cocos2d 游戏开发实战》介绍了cocos2d for iPhone 游戏引擎及相关工具,本书关注的是创建完整cocos2d游戏的过程而不是展示大量的iPhone SDK 或OpenGL代码。在学习本书的过程中,通过创...
在本章中,我们真的只抓到了iPhone绘图功能的一点皮毛。现在,你应该逐渐适应了Quartz 2D。并且,通过参考苹果公司的文档,你可以满足遇到的大多数绘图需求。你还应该对什么是OpenGL ES及其如何与iPhone的视图...
initWithCoder:方法后面是draw方法,你可以在该方法中看到两个库之间的实际差别。让我们看一看绘制直线的过程。下面就是在Quartz版本(我们已经删除了与绘图无关的代码)中绘制直线的方法:下面是在OpenGL中绘制...
完成之后,保存并返回到Xcode。单击GLFunView.h并进行以下更改:此类与QuartzFunView.h非常相似,但它不使用UIImage来存放图像,我们使用Texture2D来简化将图像绘制到OpenGL ES上下文中的过程。我们还将超类从U...
如前所述,OpenGL ES和Quartz 2D采用完全不同的方法进行绘图。对OpenGL ES的详细介绍本身就是一本书,因此我们在此不对其进行讨论。我们使用OpenGL ES重新创建我们的Quartz 2D应用程序,只是为了让你对其有...
我们立刻在drawRect:方法中计算当前矩形,以便绘制椭圆形和矩形形状。我们将该计算结果移动到新方法中,以便在所有3个位置中使用此新方法,而没有重复代码。准备好了吗?让我们开始吧。对QuartzFunView.h进行以下...
我们的最后一件事是绘制图像。12 QuartzFun文件夹中包含一个名为iphone.png的图像,你可以将该图像添加到Resources文件夹中,或者也可以添加你要使用的任何.png文件,只要记得将代码中的文件名改为所选图像即可...
让我们实现同时绘制矩形和椭圆形的代码,因为Quartz 2D基本上采用相同的方法实现这两个对象。对drawRect:方法进行以下更改:由于我们希望将椭圆形和矩形涂上纯色,因此我们添加一个使用currentColor设置填充颜色...
返回Xcode,编辑QuartzFunView.m,并用以下代码替换空的drawRect:方法:首先,检索对当前上下文的引用,以便知道要绘图的位置:接下来,将线宽设置为2.0,这意味着我们画的任何直线都是2个像素宽:随后,设置所画...
开始绘图之前,我们需要向nib中添加分段控件,然后连接操作和输出口。双击QuartzFunView- Controller.xib,在Interface Builder中将其打开。第一件事是更改视图的类,因此在标签为QuartzFunViewController.xib...
如果参考图12?1,你会看到我们的界面包括两个分段控制器,一个位于屏幕顶部,另一个位于屏幕底部。使用顶部的控制器,用户可以选择颜色,但该分段控制器仅应用于底部4个选项中的3个选项,因此我们需要一个到顶部...
由于我们将在UIView的某个子类中进行绘图,因此让我们用其所需的所有内容设置该类,但进行绘图的实际代码除外,我们稍后将添加这些代码。单击QuartzFunView.h并进行以下更改:我们做的第一件事情就是导入刚才创建...
我们将使用分段控制器为用户可以选择的每个选项定义常量。单击Constants.h并添加以下内容:为了使代码更具有可读性,我们使用typedef声明了两个枚举类型。
让我们首先处理此类别。在UIColor-Random.h中,添加以下代码:现在,切换到UIColor-Random.m并添加以下内容:这非常简单。我们声明一个静态变量,该变量告诉我们该方法是否是第一次调用。应用程序运行期间第一次...
Quartz 2D不像OpenGL那么昂贵,却提供了许多吸引人的工具,尽管这些工具中的许多工具不在本书的讨论范围之内,但你应该知道它们的存在。例如,Quart 2D支持用梯度填充多边形,而不只是用纯色,并且不仅仅支持实...