12 2013 档案

摘要: 阅读全文

posted @ 2013-12-28 20:51 林源 阅读(129) 评论(0) 推荐(0)

摘要:#import "MainViewController.h"#import "AFNetworking.h"#import "SSZipArchive.h"@interfaceMainViewController () @property (strong, nonatomic) AFHTTPClient *httpClient;// 操作队列@property (strong, nonatomic) NSOperationQueue *queue;// UIImageView@property (weak, nonatomic) UI 阅读全文

posted @ 2013-12-21 23:08 林源 阅读(770) 评论(0) 推荐(0)

摘要:#import "MainViewController.h"#import @interfaceMainViewController ()// 视频播放器@property (strong, nonatomic) MPMoviePlayerController *player;@property (strong, nonatomic) UIImageView *imageView;@end@implementation MainViewController- (void)viewDidLoad{ [superviewDidLoad]; // 实例化视频播放器// NSURL 阅读全文

posted @ 2013-12-21 23:05 林源 阅读(1020) 评论(0) 推荐(0)

摘要:1. 数据库中的指令不区分大小写;2. 数据库命名时,不能与关键字冲突* 在命名数据表时,一般使用“t_”作为前缀在sqlite中是不区分字段类型的,不过为了保持编程规范,在创建数据表时,最好指定数据类型3. SQL语言中,作为程序员一定要会SELECT,其他的命令,通常可以借助工具来帮助编写4. SQL语句都是以;作为结尾的5. 在数据库中,数据表的名字不能够重复!*** 数据库操作步骤1. 创建数据表2. 插入数据完成第二步之后,基本先告一段落后续就是对现有数据库中的内容进行操作1) 新增记录 insert2) 修改记录 update3) 删除记录 delete4) 查询记录 select 阅读全文

posted @ 2013-12-21 22:20 林源 阅读(510) 评论(0) 推荐(0)

摘要:CocoaPods安装和使用教程转载文章地址:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙 阅读全文

posted @ 2013-12-21 22:17 林源 阅读(474) 评论(0) 推荐(0)

摘要:一、注意1.新建项目并改为横屏运行2.导入游戏素材3.创建GameSence4.添加忍者5.隐藏状态栏,配置游戏场景大小#pragma mark - 隐藏状态栏- (BOOL)prefersStatusBarHidden{ return YES;}二、添加忍者// 1. 设置背景颜色self.backgroundColor = [SKColor colorWithWhite:1.0 alpha:1.0];// 2. 创建忍者SKSpriteNode *player = [SKSpriteNode spriteNodeWithImageNamed:@"player"];CGP 阅读全文

posted @ 2013-12-21 12:14 林源 阅读(1179) 评论(0) 推荐(0)

摘要:一、为什么要使用纹理贴图?–应用程序在为精灵图片分配内存空间时,需要分配超过图片尺寸的,并且是最小的2的幂次的尺寸。例如,一张图片的长和宽分别是129px和65px,则分配的内存空间需要是256*128*每个像素占用的内存字节数。可以发现实际的图片信息大约只占用了内存空间的1/4,也就是说将近3/4的内存空间被浪费了。一次每通过图片创建一个精灵,就会发生内存浪费的现象。精灵数量越多,内存的浪费越严重!•注:要使用纹理贴图集,项目名称及保存目录不能包含中文!二、SpriteKit项目——小妖精漫步•竖屏演示••初始小妖精站在屏幕中间发呆••点击屏幕的任意位置后:Ø小妖精旋转至对应方向& 阅读全文

posted @ 2013-12-21 12:02 林源 阅读(1840) 评论(0) 推荐(0)

摘要:•对比C语言,C++增加一个bool类型(布尔类型),取值有2个:Øtrue:其实就是整数1Øflase:其实就是整数0bool b = true;•bool类型完全可以当做整数来用••也可以将其他类型的值转换为bool,非0值转换为true,0值转换为falseØ比如bool b = 0;等价于bool b = true; 阅读全文

posted @ 2013-12-21 11:51 林源 阅读(1331) 评论(0) 推荐(0)

摘要:一、带默认形参值的函数(1)•在函数声明或者定义时,可以给形参设定一个默认值•调用函数时,如果没有传入实参,形参就会使用当初设定的默认值•void test(int a = 10){ cout << "a 的值是 " << a << endl;}test(15);test();调用上面2行语句后的输出结果是:a 的值是 15a 的值是 10二、带默认形参值的函数(2)•形参没有默认值,那么它左边的参数就不能有默认值Ø比如void test(int a = 20, int b)的写法是错误的Ø•如果函数在声明的时候设定了 阅读全文

posted @ 2013-12-21 11:50 林源 阅读(639) 评论(0) 推荐(0)

摘要:•什么叫重载?Ø在相同的作用域内,如果2个函数的名字相同,而参数列表不同,就称为“重载”Ø•函数重载的形式Ø形参数量不同比如 void test(int a) 和 void test(int a, int b)Ø形参类型不同比如 void test(int a) 和 void test(double a)Ø… …Ø•需要注意的是,下面的情况不属于重载Øvoid test(int a) 和 void test(int b) 并不构成重载,它们代表的是同一个函数Øvoid test(int a) 和 int test( 阅读全文

posted @ 2013-12-21 11:48 林源 阅读(276) 评论(0) 推荐(0)

摘要:一、extern "C"(1)•extern “C”的最大作用就是实现C\C++混合编程,比如C\C++的函数互调•注意:extern后面必须是大写的C••被extern “C”修饰的变量和函数是按照C语言方式编译和连接的Ø也就是说extern “C” void test(int a, int b)被编译器产生的函数名就是_test,不再是类似_test_int_int之类的名称Ø•下面的写法是等价的:extern "C" void test(int a, int b);extern "C" void test2( 阅读全文

posted @ 2013-12-21 11:46 林源 阅读(1306) 评论(0) 推荐(0)

摘要:一、结构体的使用•C++中结构体的使用跟C语言不太一样,可以说是增强了结构体的功能••可以为结构体增加成员函数struct Student{ int age; double height; void study() { cout << age << “岁, 身高为” << height << “的学生在努力学习" << endl;二、结构体的使用(2)•定义结构体变量时不需要使用struct关键字Student s = {20, 1.78};•可以将结构体变量当对象一样耍,可以调用成员函数s.study();上述所有代码的总 阅读全文

posted @ 2013-12-21 11:43 林源 阅读(508) 评论(0) 推荐(0)

摘要:一、const•const可以限定一个变量的值不允许被改变,使用const在一定程度上可以提高程序的安全性和可靠性••const int a = 10;Ø变量a的值是不能被修改的,永远都是初值10Øint const a = 10;跟上述写法是等价的Ø•void sum(const int a, const int b)Ø上面的函数可以防止别人篡改形参的值Ø•可以看出,const可以用来定义一个常量。作用跟enum、#define类似••下面的例子表示p是个常量,不能再给p赋值,不能让p再指向其他变量int a = 10;int * const 阅读全文

posted @ 2013-12-21 11:37 林源 阅读(415) 评论(0) 推荐(0)

摘要:public class TestData { /*** * 抓取数据的代码 */ public static void main(String[] args) { try { // 1.创建html解析器 Parser p = new Parser(); // 2.设置需要解析的html URL路径 p.setURL("http://zhushou.360.cn/list/index/cid/1?page=1"); // 3.只获得li节点 // 3.1.创建一个li节点的过滤器 HasAttributeFilter haf = new HasAttributeFilte 阅读全文

posted @ 2013-12-21 11:24 林源 阅读(281) 评论(0) 推荐(0)

摘要:一、plist文件详情二、UITableView读取plist文件代码#import "ViewController.h"@interfaceViewController (){ NSArray *_data;}@end@implementation ViewController- (void)viewDidLoad{ [superviewDidLoad]; _data = [NSArrayarrayWithContentsOfFile:[[NSBundlemainBundle] pathForResource:@"360app.plist"ofType 阅读全文

posted @ 2013-12-21 11:19 林源 阅读(287) 评论(0) 推荐(0)

摘要:一、GameKit框架•使用GameKit框架,可以在游戏中增加对等连接,又称对端连接或点对点连接,Peer To Peer。•使用GameKit框架中的对等网络连接API,可以在游戏玩家之间建立一个对等网络,并在游戏/应用实例之间交换数据。•GameKit框架可以使用蓝牙在玩家之间创建网络,玩家甚至不需要连接到互联网,就可以彼此对战。二、通过蓝牙实现对等网络连接•1. 为玩家双方呈现一个GKPeerPickerController,提供了一个标准的用户界面连接两台设备•2. ViewControoler遵循GKPeerPickerControllerDelegate协议,处理来自GKPeer 阅读全文

posted @ 2013-12-21 11:10 林源 阅读(911) 评论(0) 推荐(0)

摘要:一、照片选择•使用UIImagePickerController可以选择照片••照片的来源UIImagePickerControllerSourceType包括:–照片库(不可删除):UIImagePickerControllerSourceTypePhotoLibrary–照相机:UIImagePickerControllerSourceTypeCamera–保存的照片(可以删除):UIImagePickerControllerSourceTypeSavedPhotosAlbum二、步骤、•1. 判断照片来源是否可用•2. 实例化照片选择控制器•3. 设置照片源•4. 设置是否允许编辑•5. 阅读全文

posted @ 2013-12-21 11:06 林源 阅读(289) 评论(0) 推荐(0)

摘要:1、通知(消息Notification)机制基本概念•iOS中提供了两种通知机制:–本地通知–推送通知••本地通知和推送通知可以让不在前端运行的应用程序告知用户应用程序内部发生的信息。这些信息可以是一条消息,也可以是即将要发生的事件,亦或者是远程服务器上有新的数据等••通知的展现方式:–显示一个UIAlertView或者横幅–更新应用程序图标上的数字–播放声音2、本地通知——示意图3、本地通知•本地通知是一个UILocalNotification的实例,包含以下三个重要属性:–调度时间:要使用本地通知,必须指定通知触发的日期以及时间,还可以设置通知的重复间隔,例如按周重复或者按月重复–通知类型 阅读全文

posted @ 2013-12-21 11:01 林源 阅读(1408) 评论(0) 推荐(0)

摘要:1、•通过苹果应用程序商店有三种主要赚钱的方式:–直接收费(与国内大部分用户的消费习惯相悖,如果直接收费,不要设置为6元)–广告(降低用户体验,在android系统非常多,在苹果系统非常少)–内购2、内购的五种产品类别•非消耗品(Nonconsumable)–指的是在游戏中一次性购买并拥有永久访问权的物品或服务。非消耗品物品可以被用户再次下载,并且能够在用户的所有设备上使用•消耗品(Consumable)–专为支持可消耗的物品或服务设计的,消耗品购买不可被再次下载,根据其特点,消耗品不能在用户的设备之间跨设备使用,除非自定义服务在用户的账号之间共享这些信息•3、•以下三种类别在iBooks中使 阅读全文

posted @ 2013-12-21 10:49 林源 阅读(698) 评论(0) 推荐(0)

摘要:粒子效果的使用建议:•粒子系统在游戏中通常应用于将非常多小的图像绘制在一起产生整体的视觉效果,粒子系统在计算机图形学中有许多不同的使用方式,一些常见的粒子包括火焰、水、毛发等••使用Xcode创建并测试粒子效果后,在代码中通过解档(unarchive)加载并使用粒子效果••在程序运行时,可以通过代码调整粒子发射器的属性,一般用于指定在Xcode中无法设置的属性,或者是游戏逻辑中需要控制粒子属性••尽管系统开销相比精灵节点要小,但仍然是有开销的!在使用粒子效果时,应该尽量控制出现在屏幕上的粒子数量以及粒子的生命周期。相比较每秒钟要创建成百上千颗粒子,可以考虑降低粒子的生产速度,同时略微加大粒子颗 阅读全文

posted @ 2013-12-17 00:01 林源 阅读(321) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2013-12-16 23:56 林源 阅读(156) 评论(0) 推荐(0)

摘要:•SKSpriteNode:精灵节点,是一个2D纹理节点,在指定矩形区域内快速显示图像•SKLabelNode:使用指定的字体显示文本标签•SKShapeNode:使用指定的路径绘制或填充形状•SKVideoNode:视频节点,提供视频播放支持••SKEmitterNode:粒子发射器节点,提供粒子效果支持•SKCropNode:裁剪组件,使用遮罩裁剪其内部的子节点••SKEffectNode:使用帧缓冲效果渲染节点结果,用于生成某一时刻的屏幕快照•SKAction是一个动作,通过SKScene场景中的节点执行(runAction),将动作绑定到节点,可以改变节点的结构和内容,也可以改变场景• 阅读全文

posted @ 2013-12-16 23:55 林源 阅读(572) 评论(0) 推荐(0)

摘要:•SKViewØSKView是用于展现SKScene节点的视图Ø可以使用presentScene:和presentScene:transition:方法展现场景Ø注意:不允许编写SKView的子类••SKSceneØ场景是内容的根节点,用于在一个SKView上显示SpriteKit内容Ø场景是无限大的,其中的内容,通过视口(viewport)呈现给用户Ø实例化场景时,size参数用于定义展现场景视口(viewport)的大小Ø要显示场景的其他位置的内容,将视口移动到相应位置即可,可以创建一个SKNode负责视口的变化•SKN 阅读全文

posted @ 2013-12-16 23:53 林源 阅读(818) 评论(0) 推荐(0)

摘要:•frame/position:边框/位置•zPosition/zRotation:Z轴方向位置/旋转角度•xScale/yScale:X/Y轴方向缩放比例•speed:速度•alpha:透明度•paused:控制动画暂停•hidden:控制是否隐藏•userInteractionEnabled:是否允许用户交互•parent:父节点•children:子节点数组•name:名称(在一个场景树中应该保持唯一)•scene:当前所在场景•physicsBody:物理刚体,节点的物理属性描述,例如:形状、密度等•userData:针对当前节点的用户数据字典,默认为nil 阅读全文

posted @ 2013-12-16 23:52 林源 阅读(333) 评论(0) 推荐(0)

摘要:优点:Ø内置于iOS,因此不需要再额外下载类库也不会产生外部依赖。它是苹果官方编写的,所以可以确信它会被良好支持和持续更新Ø内置纹理贴图集和粒子工具Ø可以实现一些其他框架很难甚至不可能做到的事情,如把视频当作Sprite来使用或者实现很炫的图片效果和遮罩缺点:Ø使用Sprite Kit,意味着游戏将被限制在iOS系统上。你可能永远也不会知道自己的游戏是否会在Android平台上变成热门ØSprite Kit刚刚起步,现阶段该框架还没有像其他框架那么多的实用特性,比如Cocos2D的某些细节功能,其中最大的缺失就是不能直接编写OpenGL代码 阅读全文

posted @ 2013-12-16 23:51 林源 阅读(397) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2013-12-11 17:32 林源 阅读(349) 评论(0) 推荐(0)

摘要:1.iOS支持的音频格式 音频格式硬件解码软件解码AACYESYESALACYESYESHE-AACYESiLBCYESIMA4YESLinea PCMYESMP3YESYESμ-law and a-lawYESCAFYESYES注意:硬件解码器一次只能对一个音频文件解码------------------------------------------------------------------------------------------------------------------------------------------------------2.关于音效的使用•音效又称 阅读全文

posted @ 2013-12-10 22:14 林源 阅读(2395) 评论(0) 推荐(0)

摘要:一、音频队列服务•在iOS和Mac OS X中,音频队列服务提供了一种直接、低开销的的方式来录制和播放音频。也是苹果公司推荐在iOS和Mac OS X程序中添加录制和播放功能使用的技术••音频队列服务允许录制和播放以下格式的音频:Ø线性PCM(Linear PCM)Ø任何苹果平台原生支持的压缩格式Ø任何用户已经安装相应编码器的其他格式Ø•音频队列服务是纯C接口的二、音频队列的架构•所有的音频队列都含有相同的基础结构,其中包含:•Ø一组音频队列缓冲区(audio queue buffers),每个音频队列缓冲区都是一个存储音频数据的临时仓库,通常 阅读全文

posted @ 2013-12-10 22:08 林源 阅读(291) 评论(0) 推荐(0)

摘要:+ (UIBackgroundTaskIdentifier)backgroundPlayerID:(UIBackgroundTaskIdentifier)backTaskId{ // 1. 设置并激活音频会话类别 AVAudioSession *session = [AVAudioSession sharedInstance]; [session AVAudioSessionCategoryPlayback error:nil]; [session setActive:YES error:nil]; // 2. 允许应用程序接收远程控制 [[UIApplication sharedApplic 阅读全文

posted @ 2013-12-10 22:07 林源 阅读(859) 评论(0) 推荐(0)

摘要:一、AVAudioSession的类别(1)•AVAudioSessionCategoryAmbient–混音播放,例如雨声、汽车引擎等,可与其他音乐一起播放•AVAudioSessionCategorySoloAmbient–后台播放,其他音乐将被停止•AVAudioSessionCategoryPlayback–独占音乐播放•AVAudioSessionCategoryRecord–录制音频•AVAudioSessionCategoryPlayAndRecord–播放和录制音频•AVAudioSessionCategoryAudioProcessing–使用硬件解码器处理音频,该音频会话使 阅读全文

posted @ 2013-12-10 22:05 林源 阅读(464) 评论(0) 推荐(0)

摘要:•使用AVAudioPlayer可以播放本地音乐,具备以下特点:•1.能够预先缓存,提高播放的流畅性(prepareToPlay)2.播放起始时间(playAtTime)3.播放控制(play/pause/stop)4.循环播放次数(numberOfLoops)5.播放音量(volume)6.设置播放速度(enableRate/rate)7.音量监控(meteringEnabled/peakPowerForChannel/averagePowerForChannel)●•除上述功能外,还可以通过AVAudioPlayer的代理方法监控音乐的播放进度----------------------- 阅读全文

posted @ 2013-12-10 22:04 林源 阅读(1544) 评论(0) 推荐(0)

摘要:单元测试单元测试除了可以帮助测试已经OK的代码之外,还可以用来调试不熟悉的知识点。在接触新的知识点时,可以无需布置复杂的界面,即可从任意节点,通过自己假设的数据开始测试。相比较需要界面的代码而言,单元测试的这一特性能够大大提高开发效率,以及对新知识的吸收和掌握能力。除了正常的测试需求外,单元测试主要可以针对复杂的数据模型开发时进行边界以及算法的调试工作,例如数据加密、解密!---------------------------------------------------------------------------------------------------------------- 阅读全文

posted @ 2013-12-10 21:55 林源 阅读(175) 评论(0) 推荐(0)

摘要:1. 明确目标,指定计划 在做任何事情之前,如果目标明确,就已经成功了一半!2. 工程搭建 搭建大体的系统框架 1) 通过Images.xcassets管理应用程序中的图片资源,是支持文件夹管理和拖拽的 2) 如果要发布应用程序,图标文件需要有8个 3) 苹果官方不太支持使用LaunchImage 4) 如果需要兼容iOS6.0的操作系统,不能使用Images.xcassets提供的切片功能,需要使用stretchableImageWithLeftCapWidth对图片进行拉伸处理!3. 关于多线程 所有UI相关的操作,必须在主线程队列中实现! 在程序开发过程中,千万不要满足NSLog确认流. 阅读全文

posted @ 2013-12-10 21:54 林源 阅读(575) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2013-12-02 23:32 林源 阅读(126) 评论(0) 推荐(0)

摘要:#pragma mark - UITableView代理方法- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ // 1. 取出用户点击的cell UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; // 2. 判断cell.tag,如果==1,跳转 if (cell.tag == 1) { [selfperformSegueWithIdentifier:@"E... 阅读全文

posted @ 2013-12-02 22:04 林源 阅读(989) 评论(0) 推荐(0)

导航