- 浏览: 684977 次
- 性别:
- 来自: 深圳
最新评论
-
fingerplay:
请问一下,第一份,逻辑树,就是代码里可以操纵的,例如更改lay ...
UIView与CALayer -
ok_lyc:
分享到哪里去了
iPhoneUIFont各种字体 -
lliiqiang:
我的个人理解:wait方法是在java虚拟机层面上在获取对象锁 ...
JAVA多线程同步wait、notify、synchronized -
milixw:
谢谢分享,就在找这个
iphone 推送通知 java 实现 -
wsqwsq000:
你的log4j包不行,上网搜一下:log4j-1.2.16.j ...
iphone 推送通知 java 实现
文章列表
CGContextSaveGState与CGContextRestoreGState的作用
使用Quartz时涉及到一个图形上下文,其中图形上下文中包含一个保存过的图形状态堆栈。在Quartz创建图形上下文时,该堆栈是空的。CGContextSaveGState函数的作用是将当前图形状态推入堆栈。之后,您对图形状态所做的修改会影响随后的描画操作,但不影响存储在堆栈中的拷贝。在修改完成后,您可以通过CGContextRestoreGState函数把堆栈顶部的状态弹出,返回到之前的图形状态。这种推入和弹出的方式是回到之前图形状态的快速方法,避免逐个撤消所有的状态修改;这也 ...
CGContextAddArc
- 博客分类:
- iphone
CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, intclockwise)
CGContextRef: 图形上下文
x,y: 开始画的坐标
objective-c与java的几点不同
- 博客分类:
- iphone
随手笔记,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开发——检查网络状态
- 博客分类:
- iphone
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中的属性
- 博客分类:
- iphone
在我们定义@protocol时,一般会用到下面2个属性otpional和required
在@otpional后面的方法都是可选的, 也就是说不一定要实现它.
如果是@required指令的后面的方法,那是一定要实现.
iPhone下的图形框架
- 博客分类:
- iphone
iPhone下的图形框架并不是很多。其中比较知名的就两个s7graphview和Core Plot。巧的是两个都是Google的。前者使用简单,但功能单一,只能画曲线图。后者是开源项目,项目仍在不断更新中,用起来可就复杂多了,而且各个版本会有差异,包括属性、方法,甚至是类名都有改变。
目前由于项目需要,时间比较急,而且s7graphview已经可以满足项目的开发需求,所以先学这个,Core Plot以后再学,这里先留下脚步,铭记一下!
cocos2d的抛物线动作
- 博客分类:
- iphone
如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物理引擎的童鞋,肯定不方便,那么Himi今天为大家介绍另外一种不实用物理引擎实现CCSprite抛物线方式;
这里我直接将封装好的方法贴上来,注释都在代码中了:
view plain
cocos2d开发时的touch事件
- 博客分类:
- iphone
在使用cocos2d开发游戏时,免不了要涉及到touch事件。 使用CCLayer时,可以简单的设置self.isTouchEnable = YES,然后改写 – (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 方法,即可实现触摸事件的接收及处理。 但如果使用CCSprite甚至CCNode时,则必须手动添加代理协议才可以接收事件。 协议的具体使用方法网上有很多,这里就不再赘述,我主要说一下,使用这种方法时需要注意的一点。 当使用CCTouchDispatcher的 -(void) addTargete ...
OpenGL中的帧缓存
- 博客分类:
- iphone
(本文参考的是《OpenGL编程权威指南》,也就是传说中的“红宝书”)一、缓存的分类1. 颜色缓存 指程序员绘图所用的缓存,分为: 左、右缓存——用于立体感视图(必须要有左缓存); 前、后缓存— ...
OpenGL中的Blend
- 博客分类:
- iphone
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 ES 学习笔记– 透视
- 博客分类:
- iphone
现在你已经知道OpenGL是怎样绘图的了,让我们回头谈谈一个很重要的概念:OpenGL视口(viewport)。 许多人对3D编程还很陌生,那些使用过像Maya, Blender, 或 Lightwave之类3D图形程序的人都试图在OpenGL虚拟世界中找到“摄像机”。但OpenGL并不存在这样的东西。它所有的是在3D空间中定义可见的物体。虚拟世界是没有边界的,但计算机不可能处理无限的空间,所以OpenGL需要我们定义一个可以被观察者看到的空间。
如果我们从大部分3D程序具有的摄像机对象的角度出发来考虑,视口端点的中心就是摄像机。也就是观察者站的位置。它是一个观察虚拟世界的虚拟窗 ...