`
wsqwsq000
  • 浏览: 684977 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
    CGContextSaveGState与CGContextRestoreGState的作用 使用Quartz时涉及到一个图形上下文,其中图形上下文中包含一个保存过的图形状态堆栈。在Quartz创建图形上下文时,该堆栈是空的。CGContextSaveGState函数的作用是将当前图形状态推入堆栈。之后,您对图形状态所做的修改会影响随后的描画操作,但不影响存储在堆栈中的拷贝。在修改完成后,您可以通过CGContextRestoreGState函数把堆栈顶部的状态弹出,返回到之前的图形状态。这种推入和弹出的方式是回到之前图形状态的快速方法,避免逐个撤消所有的状态修改;这也 ...

CGContextAddArc

    CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, intclockwise)   CGContextRef: 图形上下文 x,y: 开始画的坐标
    随手笔记,objective-c与java的几点不同:   a. java通过Class来标识类,而Objective-C通过@interface/@implementation来标识类; b. java通过static来区分是否是静态方法,而Objective-C通过+/-来区分; c. java类的方法定义在类的大括弧中,而Objective-C在大括弧外; e. java对属性和方法有public、private、protected等访问限制属性,而Objective-C中属性为Protected,方法为Public;   后面有发现其他的,会随时更新补充!   ...
    iPhone SDK中附带了 SCNetworkReachabilityCreateWithAddress用于检查ip地址是否可以访问。传入清零地址(0.0.0.0)可用来查询网络状态。网络可使用时返回YES,否则为NO。返回标记:kSCNetworkReachabilityFlagsIsWWAN    :测试用户使用的时运营商的网络还是本地wifi。kSCNetworkFlagsConnectionRequired:无需更多链接。kSCNetworkFlagsReachable:表明网络可以访问。代码如下:头文件:#import <sys/socket.h>#impor ...
  有这样一段代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 NSDictionary* items2=

protocol中的属性

  在我们定义@protocol时,一般会用到下面2个属性otpional和required   在@otpional后面的方法都是可选的, 也就是说不一定要实现它. 如果是@required指令的后面的方法,那是一定要实现.
    iPhone下的图形框架并不是很多。其中比较知名的就两个s7graphview和Core Plot。巧的是两个都是Google的。前者使用简单,但功能单一,只能画曲线图。后者是开源项目,项目仍在不断更新中,用起来可就复杂多了,而且各个版本会有差异,包括属性、方法,甚至是类名都有改变。   目前由于项目需要,时间比较急,而且s7graphview已经可以满足项目的开发需求,所以先学这个,Core Plot以后再学,这里先留下脚步,铭记一下!    
    如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物理引擎的童鞋,肯定不方便,那么Himi今天为大家介绍另外一种不实用物理引擎实现CCSprite抛物线方式;         这里我直接将封装好的方法贴上来,注释都在代码中了:   view plain
    在使用cocos2d开发游戏时,免不了要涉及到touch事件。 使用CCLayer时,可以简单的设置self.isTouchEnable = YES,然后改写 – (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 方法,即可实现触摸事件的接收及处理。 但如果使用CCSprite甚至CCNode时,则必须手动添加代理协议才可以接收事件。 协议的具体使用方法网上有很多,这里就不再赘述,我主要说一下,使用这种方法时需要注意的一点。 当使用CCTouchDispatcher的 -(void) addTargete ...

OpenGL中的帧缓存

    (本文参考的是《OpenGL编程权威指南》,也就是传说中的“红宝书”)一、缓存的分类1. 颜色缓存    指程序员绘图所用的缓存,分为:     左、右缓存——用于立体感视图(必须要有左缓存);     前、后缓存— ...

OpenGL中的Blend

    Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透明,α值为1则完全不透明。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定α值。物体的绘制顺序会影响到OpenGL的混合处理。   glEnable( GL_BLEND );   // 启用混合 glDisable( GL_BLEND );  // 禁用关闭混合   获得混合的信息 glGet( GL_BLEND_SRC ); glGet( GL_BLEND ...
    glEnable(GL_DEPTH_TEST): 用来开启更新深度缓冲区的功能,也就是,如果通过比较后深度值发生变化了,会进行更新深度缓冲区的操作。启动它,OpenGL就可以跟踪再Z轴上的像素,这样,它只会再那个像素前方没有东西时,才会绘画这个像素。   在做绘画3D时,这个功能最好启动,视觉效果比较真实。
    glShadeModel ()函数改变了OpenGL中来自平滑的着色模式里的平面着色模式的状态. 其中参数有GL_SMOOTH和GL_FLAT   GL_SMOOTH是一个平滑着色,这就意味着当你开始填充一个矩形的时候,OpenGL将使用在我们 squareColours[] 数组里的默认颜色去定义在 squareVertices[] 数组里的每个顶点。 使用插值中每个像素的面积之间的点,顺利改变颜色之间的四点。换句话说,这将是我们出现彩色的矩形。GL_FLAT是使用物体的的最后一个顶点的颜色去填充整个图元。矩形是由两个三角形组成的,所以我们看到2块颜色的三角形。   GL ...
  glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。3.中心左面的坐标值是负值,右面是正值。   移向屏幕顶端是正值,移向屏幕底端是负值。   移入屏幕深处是负值,移出屏幕则是正值。   glTranslatef(x, y, z) 沿着 X, Y 和 Z 轴移动。 注意在glTranslatef(x, y, z)中,当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。其作用就是将你绘点坐标的原点在当 ...
  现在你已经知道OpenGL是怎样绘图的了,让我们回头谈谈一个很重要的概念:OpenGL视口(viewport)。 许多人对3D编程还很陌生,那些使用过像Maya, Blender, 或 Lightwave之类3D图形程序的人都试图在OpenGL虚拟世界中找到“摄像机”。但OpenGL并不存在这样的东西。它所有的是在3D空间中定义可见的物体。虚拟世界是没有边界的,但计算机不可能处理无限的空间,所以OpenGL需要我们定义一个可以被观察者看到的空间。 如果我们从大部分3D程序具有的摄像机对象的角度出发来考虑,视口端点的中心就是摄像机。也就是观察者站的位置。它是一个观察虚拟世界的虚拟窗 ...
Global site tag (gtag.js) - Google Analytics