- 博客(60)
- 收藏
- 关注
转载 OpenGL ES系列之提高-2:材质纹理
材质纹理是增加物体表面细节的有效手段。前面我们已经可以加载任意复杂的三 维模型了,但是白乎乎的团,看着一点也不酷,现在是时候让它变漂亮一些了。第一步我们给它上点颜色。首先我们需要对光照模型有点概念,物体看上去有颜 色,是它被光线照射的结果,如果光是白色的,那么呈现的就是物体本身的颜色, 否则会是光色和表面本色综合的结果。物体表面被点光源照射后,会呈现三个区 域:高光区、过渡色区和环境色区。
2013-02-28 12:36:36 918
转载 OpenGL ES系列之基本-2:初始化 GLES
初始化 OpenGL ES 分四步:调用 eglInitialize() 初始化 egl 库,用 eglChooseConfig() 选择合适的 framebuffer,调用 eglCreateWindowSurface 创建 EGLSurface,用 eglCreateContext 创建 RenderContext(RC)。其实跟标准 OpenGL 的初始化过程很接近(选择 P
2013-02-28 12:34:17 4347
转载 OpenGL ES系列之基本-1:初始化 EGL
OpenGL ES 是一个平台中立的图形库,在它能够工作之前,需要与一个实际的窗 口系统关联起来,这与 OpenGL 是一样的。但不一样的是,这部份工作有标准, 这个标准就是 EGL 。而 OpenGL 时代在不同平台上有不同的机制以关联窗口系 统,在 Windows 上是 wgl,在 X-Window 上是 xgl,在 Apple OS 上是 agl 等。 EGL 的工作方式和部份术语都接近
2013-02-28 12:33:26 1298
转载 HTTP协议
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of
2013-02-28 11:59:15 373
转载 了解 OpenGL ES 社区
学习任何一种新技术,要先对它有一个全局性的了解,这样才知道用功的方向。而这全局性的了解中,非常重要的一块就是要了解该技术的社区情况。OpenGL|ES的官方组织是:http://www.khronos.org/ 该组织关注于手持和移动平台上的动态媒体编著、播放所需的API,并致力于为这些API建立无限权费用的开放标准。(focused on the creation of open s
2013-02-28 04:32:41 658
原创 ios之简单web
UIWebView *myWebview;NSURL *URL = [NSURL URLWithString:@"http://www.google.com.hk/"];NSURLRequest *request = [NSURLRequest requestWithURL:URL ];[myWebview loadRequest:request ];
2013-02-27 17:47:20 376
原创 ios之Label的创建
UILabel*label = [[UILabelalloc]initWithFrame:CGRectMake(10,100,300,150)];label.text= @"Hello world!";//背景颜色为红色label.backgroundColor= [UIColorredColor];//设置字
2013-02-27 15:43:16 4881
原创 applicationDidFinishingLauning何时调用
当应用程序完全载入到内存时,他都会向运行此方法的应用程序委托发送一个applicationDidFinishingLauning:消息
2013-02-27 15:33:31 449
原创 ios之加速计
ios使用加速计处理自动旋转,它还可以可于检测摇动和其他突发运动。用UIDevice对象实现。访问UIDevice信息的方法:1)、通过orientation 2)、通过通知访问1、检测摇动的方法- (void)motionBegan:(NSSet *)touches withEvent:(UIEvent *)event;- (void)moti
2013-02-27 10:18:52 632
原创 iphone照相机和照片库
1、创建UIImagePickerController 实例2、设置委托3、指定图像源4、将图像呈现给用户需要遵循UIImagePickerControllerDelegate和UINavigationControllerDelegate协议。、h文件#import @interface CameraViewController : UIViewControll
2013-02-26 16:55:48 441
原创 ios之Core Location定位功能
1、需要遵循CLLocationManagerDelegate协议,该协议有两个方法- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation;//当位置
2013-02-26 12:59:50 527
原创 ios之轻击、触摸和手势
多触摸体系结构1、将触摸代码放在何处如果视图需要根据用户的触摸来对自己执行某些操作,则代码可能属于定义该视图的类。但是,通常当正在处理的手势影响正在触摸的多个对象是时,改手势代码才真正的属于属于视图的控制器类。2、四个手势通知方法- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;- (void)
2013-02-26 12:01:02 4662
原创 ios之Quartz
1、随即颜色的创建+(UIColor *)randomColor{ static BOOL seeded = NO; if (!seeded) { seeded = YES; srandom(time(NULL)); } CGFloat red = (CGFloat)random()/(CGFloat)RAND_MA
2013-02-25 16:00:49 378
原创 ios之获取应用程序的子目录
1、Documents目录NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex: 0];在Documents目录添加文件NSString *
2013-02-22 18:45:51 484
原创 ios之通知
通知是一种轻量级机制,对象可以使用它彼此通信:eg:当应用程序在它即将返回前台时刷新他的显示界面,就用UIApplicationWillEnterForeground通知-(void)aplicationWillEnterForeground:(NSNotiffication*)notification{NSUserDefaults *defaults = [NSUuserDe
2013-02-22 17:20:44 339
转载 Core Data 编程指南
一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系
2013-02-22 12:44:48 376
转载 c编译器中volatile的作用
unsigned long delay = jiffies + 5*HZ; while (time_before(jiffies, delay)) cond_resched(); c编译器通常只将变量装载一次,一般情况下不能保证循环中的jiffies变量在每次循环中被读取时都重新被载入。但是我们要求jiffi
2013-02-21 16:35:10 504
转载 otool 与dylib
所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。如果你需要引用一个第三方的dylib,在xcode下编译出cocoa程序,在本机上运行是不会出问题的。但是发布出来,给其他用户用,就可能出问题。因为用户不一定有这个库。这个问题给我造成了相当的困扰,我到现在也没找到正规的方法。但是我确实解决
2013-02-21 16:23:03 524
转载 当程序崩溃的时候怎么办 Part-2 iphone iOS
当程序崩溃的时候怎么办 iphone iOShttp://article.ityran.com/archives/1143这篇文章真的很好,昨晚加班回来十点多了,顶着巨困看完的,真刁丝日子就是不易啊,今天看完电影回来趁着感觉还比较新鲜,赶紧把这篇读后感写下来。当然文中的,nslong,和断点调试,本来就会了。1.Zombies这招,今
2013-02-21 16:22:10 659
转载 当程序崩溃的时候怎么办 part-1
有这样一种情形:当我们正在快乐的致力于我们的app时,并且什么看都是无比顺利,但是突然,坑爹啊,它崩溃了。(悲伤地音乐响起)我们需要做的第一件事就是:不要惊慌。修复崩溃不是很困难的。假如你崩溃了,并且胡乱的改些东西,而且还在不停的念着咒语希望bug神奇的自动消失,你大多数情况下都会使情况更麻烦。相反的,你需要知道一些系统的方法,并且学习怎么找到崩溃和他的原因。
2013-02-21 16:21:08 551
原创 ios之导航控制器(Nav)
导航控制器的顶级视图中的每一行分别表示一个不同的视图控制器,当选中其中一行时,对应的视图控制器会被加入到导航控制器的栈中,每行右侧的灰色箭头是扩展图标(被称为扩展指示器),用于告知用户触摸该箭头将切换到另一个表视图。子控制器的右侧有个细节展示按钮,点击它将显示当前行的更多详细信息,并且可以编辑。使用扩展指示器和细节展开按钮的时机:如果希望一次”行点击“提供一个选择,并且
2013-02-21 15:31:08 819
转载 推荐NSString类型的属性用copy
因为如果你用retain, 你保证不了调用者是给你传的是NSString还是NSMutableString, 如果传的是NSMutableString, 那你的这个NSString属性内容就有可能受调用者的影响, 而NSString的属性,通常都是不希望被调用者改变的。 不只是NSString,其他的不可变类, NSArray, NSDictionary, NSSet等,都
2013-02-21 15:23:39 521
转载 copy, retain, assign , readonly , readwrite,strong,weak,nonatomic整理
copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝。拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议的对象类型有效。更深入的讨论,请参考“复制”部分。retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1对其他NSObject和其子类对参数进行re
2013-02-21 15:19:36 478
原创 ios之深拷贝
.h文件#import @interface NSDictionary(DeepMutableCopy)-(NSMutableDictionary *)mutableDeepCopy;@end.m文件#import "NSDictionary-DeepMutableCopy.h"@implementation NSDictionary(DeepMutableCo
2013-02-21 09:29:43 444
原创 ios之表视图
表视图基础:表视图是显示表数据的视图对象,它是UITableView类的一个实例。表中的每个可见行都由UITableViewCell类实现。表视图遵从UITableViewDataSource协议和UITableViewDelegate协议。UITableViewCell可以添加视图:方法如下:1、在创建单元是添加子视图2、从nib文件中加载它们。表视图有两种基本样式:
2013-02-20 17:46:41 583
原创 ios之创建声音
1、添加头文件#import 2、添加框架将AudioToolbox.Framework添加到Frameworks中3、代码如下 NSString *path = [[NSBundle mainBundle] pathForResource:@"crunch"
2013-02-20 16:27:18 537
原创 ios之选取器与标签栏
选取器并不是从interface builder 中挑选一个选取器并放在内容视图上,然后进行配置就行。但是日期选取器是个例外。此外还需为选取器提供选取器委托和选取器数据源(是控制器的一部分),但日期选取器也是个例外。1、将Tab Bar Controller对象库拖到MainWindow.xib上。2、按住control并将 ...AppDelegate图标拖到TabBarCont
2013-02-20 14:50:13 500
原创 IOS之制作动画
[UIView beginAnimations:@"View Flip" context:nil]; //第一个参数是动画块标题,第二个参数是(void*),它支持指定你希望将其指针与此动画块关联的对象(或任何其他c数据类型)。 [UIView setAnimationDuration:1.25]; [UIView setAnimationCurve:UIViewAnimati
2013-02-19 17:13:49 408
原创 ios之多视图应用程序源码
BlueViewController的.h文件#import @interface BlueViewController : UIViewController {}-(IBAction)blueButtonPressed:(id)sender;@endBlueViewController的.m文件import "BlueViewControlle
2013-02-19 17:07:38 523
原创 ios之旋转时视图切换
源码如下:.h文件#import #define degreesToRadian(x) (M_PI * (x) / 180.0)@interface SwapViewController : UIViewController { UIView *landscape; UIView *portrait; // Foo U
2013-02-19 15:22:12 2557
转载 Android 开发中的多线程编程技术
多线程这个令人生畏的“洪水猛兽”,很多人谈起多线程都心存畏惧。在Android开发过程中,多线程真的很难吗?多线程程序的“麻烦”源于它很抽象、与单线程程序运行模式不同,但只要掌握了它们的区别,编写多线程程序就会很容易了。下面让我们集中精力开始学习吧! 多线程案例——计时器 我在给我的学生讲多线程的时候都会举一个计时器的案例,因为计时器案例是多
2013-02-19 14:29:52 496
原创 ios之旋转式移动按钮
在.m 打开1、shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation并修改- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
2013-02-19 11:34:58 1761
原创 ios之美化按钮
.h@interface Control_FunViewController : UIViewController {.... UIButton *doSomethingButton;}@property (nonatomic, retain) IBOutlet UIButton *doSomethingButton;@end.m@s
2013-02-19 10:56:01 496
原创 ios之操作表和报警
.h@interface Control_FunViewController : UIViewController { UITextField *nameField;.....}- (IBAction)buttonPressed;......@end.m- (IBAction)buttonPressed { UIActionSh
2013-02-19 10:30:48 525
原创 ios之分段控件和开关
分段控件(UISegmentControl)分段开关的第一个索引为0,此后一次增加。-(IBAction) toggleControls:(id)sender{switch ([sneder selectedSegmentIndex]){case 0: NSSlog(@"0");break;....default:break;}}单击分段控件,在连
2013-02-19 10:16:38 1043
原创 获取滑块的值
- (IBAction) sliderChanged:(id)sender{UISlider *slider = (UISlider*)sender;int progressAsInt = (int)(slider.value + 0.5);NSString *newText = [[NSString alloc] initWithFormat:@"%d", progressAsI
2013-02-19 09:19:43 1273
转载 iPhone完成输入后关闭键盘的方法
iPhone的键盘是基于软件,而不是物理键盘的,因此需要一些额外的步骤来确保用户在完成输入后关闭键盘。1.通过点击Return/Done按钮关闭键盘当用户按下Return按钮时,将触发“did end on exit”事件,此时我们需要让文本字段取消控件,以关闭键盘。在控制器类头文件中加入一个操作方法-(IBAction)textFieldDoneEditing:(id)sende
2013-02-18 17:32:29 4680
原创 ios之在view中添加视图对象
1、拖动一个图像视图(Image View)到View窗口上。2、在nib的主窗口中,可以看到3个标签为View Mode的按钮。单击中间的按钮,可以得到nib的分层视图,你可以展开其中的子视图。3、选中视图对象之后,按command+1调出检查器。4、设置视图对象的Image属性即可。
2013-02-18 16:37:48 470
转载 MVC设计模式详解
MVC(Model View Controller)模型(model)-视图(view)-控制器(controller):MVC本来是存在于Desktop程序中的,M是指数据模型(保存应用程序的类),V是指用户界面(窗口、控件和其他用户可以看到并能与之交互的元素),C则是控制器(将模型与视图绑定到一起,确定何如处理用户输入的应用程序逻辑)。使用MVC是将M和V的实现代码分离,从而使同一个程序可
2013-02-18 10:21:30 644
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人