<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tyreal Han</title>
	<atom:link href="http://blog.tyreal.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.tyreal.net</link>
	<description>一蓑烟雨任平生</description>
	<lastBuildDate>Wed, 18 Apr 2012 09:09:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<atom:link rel='hub' href='http://blog.tyreal.net/?pushpress=hub'/>
		<item>
		<title>App Store介绍页面默认语言对app销售的影响</title>
		<link>http://blog.tyreal.net/archives/101</link>
		<comments>http://blog.tyreal.net/archives/101#comments</comments>
		<pubDate>Wed, 18 Apr 2012 09:09:08 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[碎碎念]]></category>

		<guid isPermaLink="false">http://blog.tyreal.net/?p=101</guid>
		<description><![CDATA[在2个月之前，app store还不能改app的默认语言，如果账号一开始设定错了，就像我选了简体中文，是没办法改成English的。 我之前也在想，用简体中文的介绍会对销售影响差多少，但是一直没有机会对比。一是当时没有办法修改语言，二是可以我也不舍得那好项目这么折腾。 这次跟人人游戏合作，把我之前的一个游戏给他们代理，由于中间一些波折，最后这个游戏以简体中文介绍的方式上线了，我一查排名，除了中文地区的有进入前200的大小各榜单，其他英文地区完全无记录，搞得我差点以为是限定了销售区域。今天特地上app store的美国区搜《艾米莉的衣橱》，确认美国区也有，相比我自己原来那个版本在第一次上线的时候，在泰国区还进入过Free Top 10，其他区大概也有不错的名字，这次的排名就相差太多了，而且我自己的那版一点推广都没有做。 虽然第一次的排名可能略有运气，但是粗略参考，这差距实在是有点明显啊 App Store介绍页面默认语言对app销售的影响 © Tyreal, 2012. &#124; One comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags:]]></description>
			<content:encoded><![CDATA[<p>在2个月之前，app store还不能改app的默认语言，如果账号一开始设定错了，就像我选了简体中文，是没办法改成English的。</p>
<p>我之前也在想，用简体中文的介绍会对销售影响差多少，但是一直没有机会对比。一是当时没有办法修改语言，二是可以我也不舍得那好项目这么折腾。</p>
<p>这次跟人人游戏合作，把我之前的一个游戏给他们代理，由于中间一些波折，最后这个游戏以简体中文介绍的方式上线了，我一查排名，除了中文地区的有进入前200的大小各榜单，其他英文地区完全无记录，搞得我差点以为是限定了销售区域。今天特地上app store的美国区搜<a href="http://itunes.apple.com/us/app/ai-mi-li-de-yi-chu/id514884132?mt=8">《艾米莉的衣橱》</a>，确认美国区也有，相比我自己原来那个版本在第一次上线的时候，在泰国区还进入过Free Top 10，其他区大概也有不错的名字，这次的排名就相差太多了，而且我自己的那版一点推广都没有做。</p>
<p>虽然第一次的排名可能略有运气，但是粗略参考，这差距实在是有点明显啊</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/101">App Store介绍页面默认语言对app销售的影响</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2012. |
<a href="http://blog.tyreal.net/archives/101#comments">One comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/101/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>自学绘画书籍推荐</title>
		<link>http://blog.tyreal.net/archives/98</link>
		<comments>http://blog.tyreal.net/archives/98#comments</comments>
		<pubDate>Wed, 15 Feb 2012 03:26:24 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[不务正业]]></category>

		<guid isPermaLink="false">http://blog.tyreal.net/?p=98</guid>
		<description><![CDATA[由于决心开启绘画新天赋树，所以最近收集了一些自学的入手书籍。由于还没看完，所以我就先说一点 其中最好的就是The New Drawing on the Right Side of the Brain，虽然内容以绘画入手，实质上你可以当半本心理学的消遣书看。书上详细地阐述了左右脑在认识以及功能上的区别，读完再对比长期以来我们社会教育对逻辑的左脑的偏重、对负责抽象右脑的忽视，你会对很多问题更有感触。所以，即使不想深入学绘画，此书依旧是本不错的拓展认知的好书 自学绘画书籍推荐 © Tyreal, 2012. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags:]]></description>
			<content:encoded><![CDATA[<p>由于决心开启绘画新天赋树，所以最近收集了一些自学的入手书籍。由于还没看完，所以我就先说一点</p>
<p>其中最好的就是The New Drawing on the Right Side of the Brain，虽然内容以绘画入手，实质上你可以当半本心理学的消遣书看。书上详细地阐述了左右脑在认识以及功能上的区别，读完再对比长期以来我们社会教育对逻辑的左脑的偏重、对负责抽象右脑的忽视，你会对很多问题更有感触。所以，即使不想深入学绘画，此书依旧是本不错的拓展认知的好书</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/98">自学绘画书籍推荐</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2012. |
<a href="http://blog.tyreal.net/archives/98#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/98/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShareKit设置Localize无效的解决方法</title>
		<link>http://blog.tyreal.net/archives/94</link>
		<comments>http://blog.tyreal.net/archives/94#comments</comments>
		<pubDate>Mon, 21 Nov 2011 07:08:58 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[移动开发]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://blog.tyreal.net/?p=94</guid>
		<description><![CDATA[由于新App需要分享到各大网站，所以用了ShareKit这个开源库。为了广大中文用户，所以要对菜单名称等进行本地化语言处理一下。新版本的ShareKit自带了Localize的string文件，本以为可以直接使用，结果无论是模拟器还是真机测试，中文信息都无效… 查了好久完全不知道怎么回事 解决方法很简单 删掉自带的Localizable.strings文件，然后重新自己一一建立，立刻就解决 具体原因不解，但是删掉自己重来很管用 ShareKit设置Localize无效的解决方法 © Tyreal, 2011. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags: iOS]]></description>
			<content:encoded><![CDATA[<p>由于新App需要分享到各大网站，所以用了ShareKit这个开源库。为了广大中文用户，所以要对菜单名称等进行本地化语言处理一下。新版本的ShareKit自带了Localize的string文件，本以为可以直接使用，结果无论是模拟器还是真机测试，中文信息都无效…</p>
<p>查了好久完全不知道怎么回事</p>
<p>解决方法很简单</p>
<p>删掉自带的Localizable.strings文件，然后重新自己一一建立，立刻就解决</p>
<p>具体原因不解，但是删掉自己重来很管用</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/94">ShareKit设置Localize无效的解决方法</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2011. |
<a href="http://blog.tyreal.net/archives/94#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <a href="http://blog.tyreal.net/archives/tag/ios" rel="tag">iOS</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/94/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cocos2D中实现截图功能</title>
		<link>http://blog.tyreal.net/archives/91</link>
		<comments>http://blog.tyreal.net/archives/91#comments</comments>
		<pubDate>Tue, 08 Nov 2011 15:05:16 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[移动开发]]></category>
		<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://blog.tyreal.net/?p=91</guid>
		<description><![CDATA[在Cocos2D中截图有2种方法 从OpenGL的显示数据中直接获取，这样可以截取整个屏幕显示的结果，类似Home+Power的效果 使用CCRenderTexture可以单独设定特定的Sprite或者CCNode进行截取保存 OpenGL截取整个屏幕 需要对CCDirector进行Category扩展，加入以下两个文件 CCDirector+ImageSave.h CCDirector+ImageSave.m 使用的时候，如下就可以保存图片 CCRenderTexture截图部分CCNode图象 CCRenderTexture是Cocos2D定义的类，所以直接使用吧 Cocos2D中实现截图功能 © Tyreal, 2011. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags: Cocos2D, iOS]]></description>
			<content:encoded><![CDATA[<p>在Cocos2D中截图有2种方法</p>
<ul>
<li>从OpenGL的显示数据中直接获取，这样可以截取整个屏幕显示的结果，类似Home+Power的效果</li>
<li>使用CCRenderTexture可以单独设定特定的Sprite或者CCNode进行截取保存</li>
</ul>
<h3>OpenGL截取整个屏幕</h3>
<p>需要对CCDirector进行Category扩展，加入以下两个文件</p>
<p>CCDirector+ImageSave.h</p>
<pre class="brush: objc; title: ; notranslate">
#import &lt;Foundation/Foundation.h&gt;
#import &quot;cocos2d.h&quot;

@interface CCDirector (ImageSave)

- (UIImage *)screenShotUIImage;
- (CCTexture2D *)screenShotTexture2D;

@end
</pre>
<p>CCDirector+ImageSave.m</p>
<pre class="brush: objc; title: ; notranslate">
#import &quot;CCDirector+ImageSave.h&quot;

@implementation CCDirector (ImageSave)

- (UIImage*) screenShotUIImage {
CGSize size = [self displaySizeInPixels];
//Create un buffer for pixels
GLuint bufferLenght=size.width*size.height*4;
GLubyte *buffer = (GLubyte *) malloc(bufferLenght);

//Read Pixels from OpenGL
glReadPixels(0,0,size.width,size.height,GL_RGBA,GL_UNSIGNED_BYTE,buffer);
//Make data provider with data.
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer, bufferLenght, NULL);

//Configure image
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4 * size.width;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;
CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault;
CGImageRef iref = CGImageCreate(size.width,size.height,bitsPerComponent,bitsPerPixel,bytesPerRow,colorSpaceRef,bitmapInfo,provider,NULL,NO,renderingIntent);

uint32_t *pixels = (uint32_t *)malloc(bufferLenght);
CGContextRef context = CGBitmapContextCreate(pixels, [self winSize].width, [self winSize].height, 8, [self winSize].width*4, CGImageGetColorSpace(iref), kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

CGContextTranslateCTM(context,0, size.height);
CGContextScaleCTM(context, 1.0, -1.0);

switch ([self deviceOrientation]) {
case CCDeviceOrientationPortrait:
break;
case CCDeviceOrientationPortraitUpsideDown:
CGContextRotateCTM(context, CC_DEGREES_TO_RADIANS(180));
CGContextTranslateCTM(context,-size.width, -size.height);
break;
case CCDeviceOrientationLandscapeLeft:
CGContextRotateCTM(context, CC_DEGREES_TO_RADIANS(-90));
CGContextTranslateCTM(context,-size.height, 0);
break;
case CCDeviceOrientationLandscapeRight:
CGContextRotateCTM(context, CC_DEGREES_TO_RADIANS(90));
CGContextTranslateCTM(context,size.width*0.5, -size.height);
break;
}
CGContextDrawImage(context, CGRectMake(0.0, 0.0, size.width, size.height), iref);
UIImage *outputImage = [UIImage imageWithCGImage:CGBitmapContextCreateImage(context)];

//Dealloc
CGDataProviderRelease(provider);
CGImageRelease(iref);
CGContextRelease(context);
free(buffer);
free(pixels);

return outputImage;
}

- (CCTexture2D*) screenShotTexture2D {
return [[CCTexture2D alloc] initWithImage:[self screenShotUIImage]];
}

@end
</pre>
<p>使用的时候，如下就可以保存图片</p>
<pre class="brush: objc; title: ; notranslate">
#import &quot;CCDirector+ImageSave.h&quot;

/*
...
...
*/

UIImage *screenshot = [[CCDirector sharedDirector] screenShotUIImage];
NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:@&quot;Documents/Screenshot.png&quot;];
[UIImagePNGRepresentation(screenshot) writeToFile:savePath atomically:YES];
</pre>
<p><br/></p>
<h3></h3>
<h3>CCRenderTexture截图部分CCNode图象</h3>
<p>CCRenderTexture是Cocos2D定义的类，所以直接使用吧</p>
<pre class="brush: objc; title: ; notranslate">
// 设定截图大小
CCRenderTexture  *target = [CCRenderTexture renderTextureWithWidth:320 height:480];
[target begin];

// 添加需要截取的CCNode
[someNode visit];

[target end];
NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:@&quot;Documents/Screenshot.png&quot;];
[target saveBuffer:savePath format:kCCImageFormatPNG];
</pre>
<hr />
<p><a href="http://blog.tyreal.net/archives/91">Cocos2D中实现截图功能</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2011. |
<a href="http://blog.tyreal.net/archives/91#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <a href="http://blog.tyreal.net/archives/tag/cocos2d" rel="tag">Cocos2D</a>, <a href="http://blog.tyreal.net/archives/tag/ios" rel="tag">iOS</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自己iMac 27寸用过的几个鼠标</title>
		<link>http://blog.tyreal.net/archives/89</link>
		<comments>http://blog.tyreal.net/archives/89#comments</comments>
		<pubDate>Sun, 19 Jun 2011 03:49:48 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[碎碎念]]></category>

		<guid isPermaLink="false">http://blog.tyreal.net/?p=89</guid>
		<description><![CDATA[其实iMac自带了Apple Magic Mouse，如果你电脑使用频率低，要大概凑合也不是不可以，但是由于iMac 27寸的分辨率高达2560*1440，magic mouse在没有外加软件调节仅靠系统设置的情况下，移动之慢简直令人发指。此外，MM的外形过于扁平，握着鼠标的时候手掌心会悬空，长期使用会使得手指酸痛。吹嘘的触控操作，其实尝鲜完之后会觉得也不过尔耳。总之，这个鼠标除了好看，基本没太多亮点。技术宅者为了健康，还是自重。 网上也有不少人推荐 罗技V470，一是蓝牙，可以不用多加一个接收器，二有白色款，配色跟iMac蛮搭的，本人不幸买了一个，iMac 21寸或者Macbook Air之流可能分辨率小，用起来还算顺畅，我自己的iMac 27，设置快速移动之后隐隐感觉移动掉帧，怎么甩都不舒畅，外加造型略微鼓起且非完全对称（适合右手鼠标），对于我这个左撇子的人来说，其实也不是很满意（右手凑合吧，但是没其他的手感好），重量适中，最大的问题其实就是掉帧了。 所以我最后被迫用回 罗技M215，要插入一个小小的USB接口的Nano接收器，手感还不错，价格异常便宜，我当初花80大洋左右入手，只是颜色不搭，外貌协会的童鞋考虑买个黑色的吧，至少不会像我蓝色的这么突兀。 如果你有更多的米买外设，果断买高端键鼠套装去吧。我当初纠结于一定要蓝牙的鼠标，这样可以省下一个USB接口，其实真没必要，iMac虽然只有4个USB，但是基本不会一次用满吧。要找一套蓝牙键鼠，选择非常少，现在大多都是2.5Ghz无线技术。果然不要蓝牙，其实就不会像我这么被坑了。 自己iMac 27寸用过的几个鼠标 © Tyreal, 2011. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags:]]></description>
			<content:encoded><![CDATA[<p>其实iMac自带了Apple Magic Mouse，如果你电脑使用频率低，要大概凑合也不是不可以，但是由于iMac 27寸的分辨率高达2560*1440，magic mouse在没有外加软件调节仅靠系统设置的情况下，移动之慢简直令人发指。此外，MM的外形过于扁平，握着鼠标的时候手掌心会悬空，长期使用会使得手指酸痛。吹嘘的触控操作，其实尝鲜完之后会觉得也不过尔耳。总之，这个鼠标除了好看，基本没太多亮点。技术宅者为了健康，还是自重。</p>
<p>网上也有不少人推荐 罗技V470，一是蓝牙，可以不用多加一个接收器，二有白色款，配色跟iMac蛮搭的，本人不幸买了一个，iMac 21寸或者Macbook Air之流可能分辨率小，用起来还算顺畅，我自己的iMac 27，设置快速移动之后隐隐感觉移动掉帧，怎么甩都不舒畅，外加造型略微鼓起且非完全对称（适合右手鼠标），对于我这个左撇子的人来说，其实也不是很满意（右手凑合吧，但是没其他的手感好），重量适中，最大的问题其实就是掉帧了。</p>
<p>所以我最后被迫用回 罗技M215，要插入一个小小的USB接口的Nano接收器，手感还不错，价格异常便宜，我当初花80大洋左右入手，只是颜色不搭，外貌协会的童鞋考虑买个黑色的吧，至少不会像我蓝色的这么突兀。</p>
<p>如果你有更多的米买外设，果断买高端键鼠套装去吧。我当初纠结于一定要蓝牙的鼠标，这样可以省下一个USB接口，其实真没必要，iMac虽然只有4个USB，但是基本不会一次用满吧。要找一套蓝牙键鼠，选择非常少，现在大多都是2.5Ghz无线技术。果然不要蓝牙，其实就不会像我这么被坑了。</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/89">自己iMac 27寸用过的几个鼠标</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2011. |
<a href="http://blog.tyreal.net/archives/89#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/89/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Core Data下如何分页查询数据</title>
		<link>http://blog.tyreal.net/archives/86</link>
		<comments>http://blog.tyreal.net/archives/86#comments</comments>
		<pubDate>Thu, 07 Apr 2011 15:24:04 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[移动开发]]></category>
		<category><![CDATA[Core Data]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://blog.tyreal.net/?p=86</guid>
		<description><![CDATA[其实分页查询我第一反映是用SQLite的查询语句来操作，后来想想Core Data底层也是调用SQLite，应该也是可以分页查询的 不过iPhone开发毕竟中文资料不多，翻了下官方英文文档，找到下面的方法，主要使用下面两个函数 最近正在熟悉各种API，没太多时间，直接上代码，其实蛮简单的 这里贴上一个教程http://www.raywenderlich.com/934/core-data-tutorial-getting-started，3个篇幅说得更加仔细 他blog里的教程都很棒，我基本都看了遍 Core Data下如何分页查询数据 © Tyreal, 2011. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags: Core Data, iOS]]></description>
			<content:encoded><![CDATA[<p>其实分页查询我第一反映是用SQLite的查询语句来操作，后来想想Core Data底层也是调用SQLite，应该也是可以分页查询的<br />
不过iPhone开发毕竟中文资料不多，翻了下官方英文文档，找到下面的方法，主要使用下面两个函数</p>
<pre class="brush: objc; title: ; notranslate">
// 限定查询结果的数量
setFetchLimit
// 查询的偏移量
setFetchOffset
</pre>
<p>最近正在熟悉各种API，没太多时间，直接上代码，其实蛮简单的</p>
<pre class="brush: objc; title: ; notranslate">
	NSFetchRequest *request = [[NSFetchRequest alloc] init];
	NSEntityDescription *entity = [NSEntityDescription entityForName:@&quot;RSSEntryModel&quot; inManagedObjectContext:_managedObjectContext];
	[request setEntity:entity];
	NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@&quot;articleDate&quot; ascending:NO];
	NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
	[request setSortDescriptors:sortDescriptors];
	[request setFetchLimit:21];
	[request setFetchOffset:_currentPage * 21];
	NSArray *rssTemp = [_managedObjectContext executeFetchRequest:request error:&amp;error];
</pre>
<p>这里贴上一个教程<a href="http://www.raywenderlich.com/934/core-data-tutorial-getting-started">http://www.raywenderlich.com/934/core-data-tutorial-getting-started</a>，3个篇幅说得更加仔细<br />
他blog里的教程都很棒，我基本都看了遍</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/86">Core Data下如何分页查询数据</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2011. |
<a href="http://blog.tyreal.net/archives/86#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <a href="http://blog.tyreal.net/archives/tag/core-data" rel="tag">Core Data</a>, <a href="http://blog.tyreal.net/archives/tag/ios" rel="tag">iOS</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/86/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>霹雳布袋戏在线播放收集</title>
		<link>http://blog.tyreal.net/archives/78</link>
		<comments>http://blog.tyreal.net/archives/78#comments</comments>
		<pubDate>Tue, 30 Nov 2010 18:25:52 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[不务正业]]></category>

		<guid isPermaLink="false">http://www.tyreal.net/?p=78</guid>
		<description><![CDATA[最近很不务正业的迷上了霹雳布袋戏，对于这种闽南语对白的剧集，的确有着先天的好感。想来多半是因为闽南语才是自己真正的母语，虽然不中用的自己其实有很多字词都不会说，而且感觉闽南语的延续也有些断层。一些书面语的字词，我这一辈的人多半是只能用普通话代劳，难以像外公那样，可以对着文章一字一音的朗读。 小时候对布袋戏并不热衷，即使在什么都好奇的年纪，木偶对我的杀伤力也远不如多啦A梦的口袋。以前就知道霹雳布袋戏剧情长的惊人，前几天搜了一下，立刻惊讶无言，从1984年至今，几十年未曾完结，这都已经可以比肩那些超长肥皂剧了。然而这么几十年来所有剧集所有角色的配音，居然都出自同一人——黄文择（霹雳孔雀令不是），实在是不得不服。就算你也和我一样一开始听着觉得鼻音很别扭，但是这样恐怖的实力，就算偶尔我听出熟悉的声音，我还是心服口服。 说起来大家说的霹雳布袋戏，指的是以素还真为主线，也就是《霹雳金光》开始的剧集，但是里面一些人物与黄俊雄时代的史艳文为主的《云州大儒侠》有一定的牵连，且在《霹雳金光》之前还有几部也是以“霹雳”作为前缀命名的布袋戏，对于一些人物的首次出场及典故，会有更多的交代。 所以，有这么复杂的关系，想知道霹雳布袋戏的全部剧集顺序，可以看wikipedia 至于黄氏三代的布袋戏风云史，可以看百度百科 由于实在是受不了有些人上传视频加了那么明显的水印，虽然没有他们的共享，也下不到剧集，但是那么频繁骚扰的水印是在是妨碍看戏的心情，所以我就开始收集一些网上的在线播放列表，一来省心，二来方便大家共享。若你真是喜欢霹雳布袋戏，有机会请支持正版DVD。 编号 名称 ( 集 ) 数 时间 播放地址 01 云州大儒侠 583 1970年 由电视直接播出 02 史艳文 不详 1975年 由电视直接播出 03 苦海女神龙 不详 1976年 由电视直接播出 04 忠勇小金刚 不详 1977年 由电视直接播出 05 七彩霹雳门 不详 1978年 由电视直接播出 06 霹雳震灵霄 不详 1979年 由电视直接播出 07 霹雳真象 不详 1980年 由电视直接播出 08 霹雳万象 不详 1981年 由电视直接播出 09 [...]]]></description>
			<content:encoded><![CDATA[<p>最近很不务正业的迷上了霹雳布袋戏，对于这种闽南语对白的剧集，的确有着先天的好感。想来多半是因为闽南语才是自己真正的母语，虽然不中用的自己其实有很多字词都不会说，而且感觉闽南语的延续也有些断层。一些书面语的字词，我这一辈的人多半是只能用普通话代劳，难以像外公那样，可以对着文章一字一音的朗读。</p>
<p>小时候对布袋戏并不热衷，即使在什么都好奇的年纪，木偶对我的杀伤力也远不如多啦A梦的口袋。以前就知道霹雳布袋戏剧情长的惊人，前几天搜了一下，立刻惊讶无言，从1984年至今，几十年未曾完结，这都已经可以比肩那些超长肥皂剧了。然而这么几十年来所有剧集所有角色的配音，居然都出自同一人——黄文择（霹雳孔雀令不是），实在是不得不服。就算你也和我一样一开始听着觉得鼻音很别扭，但是这样恐怖的实力，就算偶尔我听出熟悉的声音，我还是心服口服。</p>
<p>说起来大家说的霹雳布袋戏，指的是以素还真为主线，也就是《霹雳金光》开始的剧集，但是里面一些人物与黄俊雄时代的史艳文为主的《云州大儒侠》有一定的牵连，且在《霹雳金光》之前还有几部也是以“霹雳”作为前缀命名的布袋戏，对于一些人物的首次出场及典故，会有更多的交代。<br />
所以，有这么复杂的关系，想知道霹雳布袋戏的全部剧集顺序，可以看<a href="http://zh.wikipedia.org/zh-cn/%E9%9C%B9%E9%9B%B3%E5%B8%83%E8%A2%8B%E6%88%8F">wikipedia</a><br />
至于黄氏三代的布袋戏风云史，可以看<a href="http://baike.baidu.com/view/4194.htm">百度百科</a></p>
<p>由于实在是受不了有些人上传视频加了那么明显的水印，虽然没有他们的共享，也下不到剧集，但是那么频繁骚扰的水印是在是妨碍看戏的心情，所以我就开始收集一些网上的在线播放列表，一来省心，二来方便大家共享。若你真是喜欢霹雳布袋戏，有机会请支持正版DVD。</p>
<table border="2" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<th>编号</th>
<th>名称</th>
<th>( 集 ) 数</th>
<th>时间</th>
<th>播放地址</th>
</tr>
<tr>
<td>01</td>
<td><strong>云州大儒侠</strong></td>
<td>583</td>
<td>1970年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>02</td>
<td><strong>史艳文</strong></td>
<td>不详</td>
<td>1975年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>03</td>
<td><strong>苦海女神龙</strong></td>
<td>不详</td>
<td>1976年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>04</td>
<td><strong>忠勇小金刚</strong></td>
<td>不详</td>
<td>1977年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>05</td>
<td><strong>七彩霹雳门</strong></td>
<td>不详</td>
<td>1978年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>06</td>
<td><strong>霹雳震灵霄</strong></td>
<td>不详</td>
<td>1979年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>07</td>
<td><strong>霹雳真象</strong></td>
<td>不详</td>
<td>1980年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>08</td>
<td><strong>霹雳万象</strong></td>
<td>不详</td>
<td>1981年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>09</td>
<td><strong>霹雳天网</strong></td>
<td>不详</td>
<td>1982年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>10</td>
<td><strong>霹雳侠踪</strong></td>
<td>不详</td>
<td>1983年</td>
<td>由电视直接播出</td>
</tr>
<tr>
<td>11</td>
<td><strong>霹雳城</strong></td>
<td>8</td>
<td>1984年</td>
<td><a href="http://www.youku.com/playlist_show/id_5282467.html">优酷</a></td>
</tr>
<tr>
<td>12</td>
<td><strong>霹雳神兵</strong></td>
<td>8</td>
<td>1985年</td>
<td><a href="http://www.youku.com/playlist_show/id_5282472.html">优酷（缺第1集）</a></td>
</tr>
<tr>
<td>13</td>
<td><strong>霹雳金榜</strong></td>
<td>8</td>
<td>1986年</td>
<td><a href="http://www.youku.com/playlist_show/id_5282473.html">优酷</a></td>
</tr>
<tr>
<td>14</td>
<td><strong>霹雳震九宵</strong></td>
<td>8</td>
<td>1987年</td>
<td><a href="http://www.youku.com/playlist_show/id_5282475.html">优酷</a></td>
</tr>
<tr>
<td>15</td>
<td><strong>霹雳战将</strong></td>
<td>8</td>
<td>1988年</td>
<td><a href="http://www.youku.com/playlist_show/id_5282477.html">优酷</a></td>
</tr>
<tr>
<td>16</td>
<td><strong>霹雳金光</strong></td>
<td>16</td>
<td>1988年06月</td>
<td><a href="http://www.youku.com/playlist_show/id_3391712.html">优酷</a></td>
</tr>
<tr>
<td>17</td>
<td><strong>霹雳眼</strong></td>
<td>20</td>
<td>1989年06月</td>
<td><a href="http://www.youku.com/playlist_show/id_3391716.html">优酷</a></td>
</tr>
<tr>
<td>18</td>
<td><strong>霹雳至尊</strong></td>
<td>15</td>
<td>1989年11月</td>
<td><a href="http://www.youku.com/playlist_show/id_3391718.html">优酷</a></td>
</tr>
<tr>
<td>19</td>
<td><strong>霹雳孔雀令</strong></td>
<td>10</td>
<td>1989年11月</td>
<td><a href="http://www.youku.com/playlist_show/id_1888874.html">优酷</a></td>
</tr>
<tr>
<td>20</td>
<td><strong>霹雳剑魂</strong></td>
<td>20</td>
<td>1990年01月</td>
<td><a href="http://www.youku.com/playlist_show/id_1889424.html">优酷</a></td>
</tr>
<tr>
<td>21</td>
<td><strong>霹雳异数</strong></td>
<td>40</td>
<td>1990年02月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>22</td>
<td><strong>霹雳劫</strong></td>
<td>30</td>
<td>1990年03月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>23</td>
<td><strong>霹雳天阙</strong></td>
<td>30</td>
<td>1990年06月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>24</td>
<td><strong>霹雳紫脉线</strong></td>
<td>20</td>
<td>1992年05月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>25</td>
<td><strong>霹雳烽云</strong></td>
<td>20</td>
<td>1993年04月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>26</td>
<td><strong>霹雳天命</strong></td>
<td>14</td>
<td>1993年11月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>27</td>
<td><strong>霹雳狂刀</strong></td>
<td>60</td>
<td>1993年12月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>28</td>
<td><strong>霹雳王朝</strong></td>
<td>30</td>
<td>1995年03月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>29</td>
<td><strong>霹雳幽灵箭Ⅰ</strong></td>
<td>25</td>
<td>1995年09月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>30</td>
<td><strong>霹雳外传之叶小钗传奇</strong></td>
<td>6</td>
<td>1996年02月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>31</td>
<td><strong>霹雳幽灵箭Ⅱ</strong></td>
<td>20</td>
<td>1996年03月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>32</td>
<td><strong>霹雳英雄榜</strong></td>
<td>50</td>
<td>1996年07月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>33</td>
<td><strong>霹雳烽火录</strong></td>
<td>30</td>
<td>1997年03月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>34</td>
<td><strong>霹雳风暴</strong></td>
<td>40</td>
<td>1997年07月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>35</td>
<td><strong>霹雳狂刀之创世狂人</strong></td>
<td>50</td>
<td>1998年04月</td>
<td>皆是发行录像带</td>
</tr>
<tr>
<td>36</td>
<td><strong>霹雳雷霆</strong></td>
<td>30</td>
<td>1999年02月</td>
<td>发行一集一片VCD</td>
</tr>
<tr>
<td>37</td>
<td><strong>霹雳英雄榜之江湖血路</strong></td>
<td>40</td>
<td>1999年07月</td>
<td>发行一集一片VCD</td>
</tr>
<tr>
<td>38</td>
<td><strong>霹雳英雄榜之风起云涌Ⅰ</strong></td>
<td>20</td>
<td>2000年03月</td>
<td>发行一集一片VCD</td>
</tr>
<tr>
<td>39</td>
<td><strong>霹雳英雄榜之风起云涌Ⅱ</strong></td>
<td>30</td>
<td>2000年07月</td>
<td>发行一集一片VCD</td>
</tr>
<tr>
<td>40</td>
<td><strong>霹雳英雄榜之争王记</strong></td>
<td>30</td>
<td>2001年01月</td>
<td>发行一集一片VCD</td>
</tr>
<tr>
<td>41</td>
<td><strong>霹雳图腾</strong></td>
<td>20</td>
<td>2001年05月</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>42</td>
<td><strong>霹雳异数之龙图霸业</strong></td>
<td>40</td>
<td>2001年08月</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>43</td>
<td><strong>霹雳封灵岛</strong></td>
<td>20</td>
<td>2002年04月</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>44</td>
<td><strong>霹雳兵燹</strong></td>
<td>48</td>
<td>2002年07月</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>45</td>
<td><strong>霹雳刀锋</strong></td>
<td>30</td>
<td>2003年01月</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>46</td>
<td><strong>霹雳异数之万里征途</strong></td>
<td>32</td>
<td>2003年06月27日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>47</td>
<td><strong>霹雳九皇座</strong></td>
<td>50</td>
<td>2003年10月17日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>48</td>
<td><strong>霹雳劫之阇城血印</strong></td>
<td>26</td>
<td>2004年04月09日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>49</td>
<td><strong>霹雳劫之末世录</strong></td>
<td>24</td>
<td>2004年07月09日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>50</td>
<td><strong>霹雳皇朝之龙城圣影</strong></td>
<td>40</td>
<td>2004年10月01日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>51</td>
<td><strong>霹雳剑踪</strong></td>
<td>30</td>
<td>2005年02月18日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>52</td>
<td><strong>霹雳兵燹之刀戟戡魔录Ⅰ</strong></td>
<td>30</td>
<td>2005年06月03日</td>
<td>发行一集一片DVD</td>
</tr>
<tr>
<td>53</td>
<td><strong>霹雳兵燹之刀戟戡魔录Ⅱ</strong></td>
<td>40</td>
<td>2005年09月16日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>54</td>
<td><strong>霹雳奇象</strong></td>
<td>40</td>
<td>2006年02月03日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>55</td>
<td><strong>霹雳谜城</strong></td>
<td>40</td>
<td>2006年06月23日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>56</td>
<td><strong>霹雳皇龙纪</strong></td>
<td>50</td>
<td>2006年11月10日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>57</td>
<td><strong>霹雳皇朝之铡䶮史</strong></td>
<td>30</td>
<td>2007年05月04日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>58</td>
<td><strong>霹雳开疆纪</strong></td>
<td>40</td>
<td>2007年08月17日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>59</td>
<td><strong>霹雳神州</strong></td>
<td>30</td>
<td>2008年01月04日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>60</td>
<td><strong>霹雳神州Ⅱ之苍玄泣</strong></td>
<td>46</td>
<td>2008年04月18日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>61</td>
<td><strong>霹雳神州Ⅲ之天罪</strong></td>
<td>48</td>
<td>2008年09月26日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>62</td>
<td><strong>霹雳天启</strong></td>
<td>48</td>
<td>2009年03月13日</td>
<td>发行两集一片DVD</td>
</tr>
<tr>
<td>63</td>
<td><strong>霹雳震寰宇之刀龙传说</strong></td>
<td>40</td>
<td>2009年09月12日</td>
<td>全家便利商店发行</td>
</tr>
<tr>
<td>64</td>
<td><strong>霹雳震寰宇之龙战八荒</strong></td>
<td>40</td>
<td>2010年01月29日</td>
<td>全家便利商店发行</td>
</tr>
<tr>
<td>65</td>
<td><strong>霹雳震寰宇之兵甲龙痕</strong></td>
<td>40</td>
<td>2010年06月18日</td>
<td>全家便利商店发行</td>
</tr>
<tr>
<td>66</td>
<td><strong>霹雳经武纪之枭皇论战</strong></td>
<td>40</td>
<td>2010年11月12日</td>
<td>全家便利商店发行</td>
</tr>
</tbody>
</table>
<hr />
<p><a href="http://blog.tyreal.net/archives/78">霹雳布袋戏在线播放收集</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2010. |
<a href="http://blog.tyreal.net/archives/78#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/78/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自定义命令并在wow的界面设置列表中添加自己的插件</title>
		<link>http://blog.tyreal.net/archives/76</link>
		<comments>http://blog.tyreal.net/archives/76#comments</comments>
		<pubDate>Fri, 12 Nov 2010 19:41:43 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[游戏开发]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[WoW]]></category>

		<guid isPermaLink="false">http://www.tyreal.net/?p=76</guid>
		<description><![CDATA[我们平时在WoW中按ESC键，从弹出的游戏菜单中选择“界面”，然后切换到“插件”标签，左边的列表可以看到一些插件名称，点击某一插件，可以在右边进行一些相应设置。 不过其实很多插件的功能设置会依靠聊天对话框输入命令来开启，或者在小地图上有个图标让你点，甚至干脆就没选项（比如我教程中写的那个），所以并不是所有插件都会添加到那个界面列表中。不过今天有人来问说，如何把自己编写的插件添加到这个菜单中去呢？ 这里直接给出相关函数的说明链接 InterfaceOptions_AddCategory(panel) http://wowprogramming.com/docs/api/InterfaceOptions_AddCategory panel是frame类型，必须包含一个string类型name成员，也就是说，你至少要给这个frame定个名字，这样调用这个函数就可以添加自己插件的设置页面到列表中，并显示得出来。 老规矩，为了照顾新手，小写了一个只实现添加插件名字到列表中的代码，把代码下载解压扔到wow的插件目录下，进入游戏在界面中选择这个插件之后，右边只有一个按钮，随便按……没有任何功能。我还小加了段编写自定义命令的部分，输入/optiontest就可以直接开启设置页面。 [猛击我下载这个笨插件代码] 如果有人想问说，怎么自定义命令呢，有3个步骤 根据SLASH_{插件名字大写}{序号}格式，自定义命令的名称，可以不止一条，序号从1递增 SlashCmdList[插件名字大写]，指定插件的自定义命令对应的处理函数 编写处理函数 代码如下 需要特别注意的SLASH_OPTIONTEST1跟SlashCmdList["OPTIONTEST"]，你插件的名字在这里一定要大写（其他的插件也都这样写），我无从查起为何要这样，但是我试过改成小写均无效，谁来告诉我为嘛啊…… InterfaceOptionsFrame_OpenToCategory是开启我们前面提到的那个设置页面的函数，可以在WowProgramming查询详细资料。 自定义命令并在wow的界面设置列表中添加自己的插件 © Tyreal, 2010. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags: Lua, WoW]]></description>
			<content:encoded><![CDATA[<p>我们平时在WoW中按ESC键，从弹出的游戏菜单中选择“界面”，然后切换到“插件”标签，左边的列表可以看到一些插件名称，点击某一插件，可以在右边进行一些相应设置。</p>
<p>不过其实很多插件的功能设置会依靠聊天对话框输入命令来开启，或者在小地图上有个图标让你点，甚至干脆就没选项（比如我教程中写的那个），所以并不是所有插件都会添加到那个界面列表中。不过今天有人来问说，如何把自己编写的插件添加到这个菜单中去呢？</p>
<p>这里直接给出相关函数的说明链接<br />
<strong>InterfaceOptions_AddCategory(panel)</strong><br />
<a href="http://wowprogramming.com/docs/api/InterfaceOptions_AddCategory">http://wowprogramming.com/docs/api/InterfaceOptions_AddCategory</a></p>
<p>panel是frame类型，必须包含一个string类型name成员，也就是说，你至少要给这个frame定个名字，这样调用这个函数就可以添加自己插件的设置页面到列表中，并显示得出来。</p>
<p>老规矩，为了照顾新手，小写了一个只实现添加插件名字到列表中的代码，把代码下载解压扔到wow的插件目录下，进入游戏在界面中选择这个插件之后，右边只有一个按钮，随便按……没有任何功能。我还小加了段编写自定义命令的部分，输入/optiontest就可以直接开启设置页面。</p>
<p><a href="http://blog.tyreal.net/download/OptionTest">[猛击我下载这个笨插件代码]</a></p>
<p>如果有人想问说，怎么自定义命令呢，有3个步骤</p>
<ol>
<li>根据SLASH_{插件名字大写}{序号}格式，自定义命令的名称，可以不止一条，序号从1递增</li>
<li>SlashCmdList[插件名字大写]，指定插件的自定义命令对应的处理函数</li>
<li>编写处理函数</li>
</ol>
<p>代码如下</p>
<pre class="brush: jscript; title: ; notranslate">

SLASH_OPTIONTEST1 = &quot;/optiontest&quot;;--添加自定义命令名称
SlashCmdList[&quot;OPTIONTEST&quot;] = OptionTest_SlashCommand;--函数名其实随意

local function OptionTest_SlashCommand(msg, editbox)
--开启设置页面
InterfaceOptionsFrame_OpenToCategory(OptionTest.name);
end
</pre>
<p>需要特别注意的SLASH_OPTIONTEST1跟SlashCmdList["OPTIONTEST"]，你插件的名字在这里一定要大写（其他的插件也都这样写），我无从查起为何要这样，但是我试过改成小写均无效，谁来告诉我为嘛啊……<br />
InterfaceOptionsFrame_OpenToCategory是开启我们前面提到的那个设置页面的函数，可以在WowProgramming查询详细资料。</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/76">自定义命令并在wow的界面设置列表中添加自己的插件</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2010. |
<a href="http://blog.tyreal.net/archives/76#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <a href="http://blog.tyreal.net/archives/tag/lua" rel="tag">Lua</a>, <a href="http://blog.tyreal.net/archives/tag/wow" rel="tag">WoW</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/76/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用FrameBuffer实现无Highgui库的OpenCV程序的图片显示</title>
		<link>http://blog.tyreal.net/archives/74</link>
		<comments>http://blog.tyreal.net/archives/74#comments</comments>
		<pubDate>Tue, 09 Nov 2010 07:58:48 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[计算机视觉]]></category>
		<category><![CDATA[OpenCV]]></category>

		<guid isPermaLink="false">http://www.tyreal.net/?p=74</guid>
		<description><![CDATA[还记得上一篇关于OpenCV移植到FPGA上的文章里，我只写了BMP图片的读写，关于如何显示，因为毕设没有需要，我也没有深入去弄。 后来几次有网友发邮件过来询问，很无奈自己也未曾尝试，更何况做毕设实验的板也早已经还给学校，这个部分就一直搁浅着。直到前一段lanying兄的来信，这个事情才有新的进展。 有个可能比较好的方案是使用GTK那些成熟的库然后整合上OpenCV来实现，这里只介绍一个初级的，也是lanying兄验证完的一个方法，就是使用FrameBuffer来显示图片 首先引用下别人的一点基础介绍 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下，所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏，Linux抽象出 FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能，将显卡硬件结构抽象掉，可以通过 Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成是显示内存的一个映像，将其映射到进程地址空间之后，就可以直接 进行读写操作，而写操作可以立即反应在屏幕上。这种操作是抽象的，统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由 Framebuffer设备驱动来完成的。 但是呢，FrameBuffer同时也有很大的限制，比如分辨率这些在系统设置里面如果设定完了，就不能实时更改了，同理包括显示的颜色深度。相关方面的东西请自行了解，这里只给个小链接让大家看看：http://www.91linux.com/html/article/kernel/20071204/8805.html 然后就像上次提到的图片读取的编写，要读取什么格式的图片，你自己必须对那种格式的编码存储结构很了解，然后才在那基础上继续进行。因为FrameBuffer的显示图片的思路是，自己读取图片文件的像素信息，然后按照每一行每一列逐一将像素点的信息写入到FrameBuffer对应的内存空间上。 这次只说个实现思路，具体的技术细节因未亲身验证所以不妄加解说，只是与lanying兄信件往来不时了解下，下面给出一个例程给大家参考，由于没有板验证，所以诸位看代码的时候如果有小细节错误，还望见谅。 http://blog.tyreal.net/download/FrameBuffer 若你有更好的方案，请来信tyreal.han@gmail.com赐教，不胜感激 用FrameBuffer实现无Highgui库的OpenCV程序的图片显示 © Tyreal, 2010. &#124; No comment &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags: OpenCV]]></description>
			<content:encoded><![CDATA[<p>还记得上一篇关于OpenCV移植到FPGA上的文章里，我只写了BMP图片的读写，关于如何显示，因为毕设没有需要，我也没有深入去弄。<br />
后来几次有网友发邮件过来询问，很无奈自己也未曾尝试，更何况做毕设实验的板也早已经还给学校，这个部分就一直搁浅着。直到前一段lanying兄的来信，这个事情才有新的进展。</p>
<p>有个可能比较好的方案是使用GTK那些成熟的库然后整合上OpenCV来实现，这里只介绍一个初级的，也是lanying兄验证完的一个方法，就是使用FrameBuffer来显示图片</p>
<p>首先引用下别人的一点基础介绍</p>
<blockquote><p>FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。<br />
Linux是工作在保护模式下，所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏，Linux抽象出 FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能，将显卡硬件结构抽象掉，可以通过 Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成是显示内存的一个映像，将其映射到进程地址空间之后，就可以直接 进行读写操作，而写操作可以立即反应在屏幕上。这种操作是抽象的，统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由 Framebuffer设备驱动来完成的。</p></blockquote>
<p>但是呢，FrameBuffer同时也有很大的限制，比如分辨率这些在系统设置里面如果设定完了，就不能实时更改了，同理包括显示的颜色深度。相关方面的东西请自行了解，这里只给个小链接让大家看看：<a href="http://www.91linux.com/html/article/kernel/20071204/8805.html">http://www.91linux.com/html/article/kernel/20071204/8805.html</a></p>
<p>然后就像上次提到的图片读取的编写，要读取什么格式的图片，你自己必须对那种格式的编码存储结构很了解，然后才在那基础上继续进行。因为FrameBuffer的显示图片的思路是，自己读取图片文件的像素信息，然后按照每一行每一列逐一将像素点的信息写入到FrameBuffer对应的内存空间上。</p>
<p>这次只说个实现思路，具体的技术细节因未亲身验证所以不妄加解说，只是与lanying兄信件往来不时了解下，下面给出一个例程给大家参考，由于没有板验证，所以诸位看代码的时候如果有小细节错误，还望见谅。</p>
<p><a href="http://blog.tyreal.net/download/FrameBuffer">http://blog.tyreal.net/download/FrameBuffer</a></p>
<p>若你有更好的方案，请来信tyreal.han@gmail.com赐教，不胜感激</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/74">用FrameBuffer实现无Highgui库的OpenCV程序的图片显示</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2010. |
<a href="http://blog.tyreal.net/archives/74#comments">No comment</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <a href="http://blog.tyreal.net/archives/tag/opencv" rel="tag">OpenCV</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/74/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>梦至未名</title>
		<link>http://blog.tyreal.net/archives/73</link>
		<comments>http://blog.tyreal.net/archives/73#comments</comments>
		<pubDate>Wed, 13 Oct 2010 20:12:14 +0000</pubDate>
		<dc:creator>Tyreal</dc:creator>
				<category><![CDATA[碎碎念]]></category>

		<guid isPermaLink="false">http://www.tyreal.net/?p=73</guid>
		<description><![CDATA[距离我上一次写东西，俨然已经过去了4个月。一毕业，工作之后，就处于盲目奔波状态，却没什么新的收获。在一个南方还算有点名气的集团里弄嵌入式开发，待了一个月多久就离职了，所做的事情无非只是预备热身，没太多值得道来。 此刻的我，又回到了复习考研的路上。只有3个月的时间里，跟其他正常的统考计算机的人一样要复习3科，外加一本没有学过的离散数学。这样的成功概率有多小，其实根本就不在意，这只是年少轻狂的血液躁动之后的不安分。考研究竟有没有意义，根本不去深究，只是选自己曾经想走的路。 昨天跟Jennal聊天的时候，审视了下自己，除了只会写点小玩意，从来没弄过中等规模以上的开发。做过最拿得上台面的东西，也就只有那份毕设了，虽然可能是在FPGA上第一份OpenCV移植成功的资料，也经常有人来信问我一些事情，不过平心而论，我也只是做完毕设之后就没再深入了。对于OpenCV，其实我并不是很懂，算法这种东西对我这个电子系出身又不是很勤快研究的人来说，更是门外汉的水平。偶然间收到一个英国研究生的来信，对于3D高斯模糊优化这种问题只好汗颜回信说我并不了解。而后关于OpenCV移植的一些来信，都只是简单的说一些建议跟指导，每次都谨慎回复，深怕误导了别人。前些日子看到Jennal写的漫画下载器，还是蛮羡慕的，因为自己从来就没弄个像样的项目出来，答应帮他做的QuesLite的Flex界面也拖到最后只能道歉说没时间动手。 就是这样长期处于羡慕别人的状态，无论是写程序，还是弹吉他。读一个都已经底层到物理级别的微电子专业，编程是自学的，弹吉他也只是有了好友的吉他之后，在网上搜了下乐理看看视频自娱自乐而已。当初折腾了半天才写出了WoW的插件，看弹奏视频也是揣摩了好久才把切音练熟。每每看到很多弹唱自如的视频旁边写着“新手”二字，我都只能保持⊙﹏⊙!的表情。反正我天生节奏无能，又没有音感，唱歌的时候已经是满负载运作了，又弹又唱现在还是办不到的。至于技术，硬件方面皮毛都不懂，软件能力疲软，自己这样的单核CPU脑袋却曾经狂妄的想要并行处理，这又是多么讽刺的事情。 工作之后才意识到自己一些想法的改变，会不会以后就不会再有为自己曾经的想法而活的冲动呢？自认为辛辛苦苦才从同辈们手中抢来的工作，一个月的工资是2500，在厦门这样的地方要涨到猴年马月才能出头呢？一直认为，在分配不均的局势下，想法比努力重要，不过，这或许又是为自己的不努力找借口。什么叫“辛辛苦苦”，我这种大三之后才知道“努力”的人根本没资格谈这个词。 大三的暑假，跑去厦大找阿睿跟飞龙学东西，那段蹭吃蹭喝的日子里，晚饭后散步在环岛路走回海韵校区的路上，记得有几次跟阿睿的对话都让他对我这个偏执的小孩颇为无奈。我跟Jennal说我辞职准备考研，他很自然的认为我会报考厦大。那些在木栈道上来来回回的每一晚，舒适的海风还有那缓缓拂拭沙滩的浪涛，都未曾让自己放下焦虑的心情，那个暑假的一切，都只是为了挽回某人的盲目努力而已。然而，后来几次再回到厦大西村的时候，自己也没再试着一路走回海韵，却偶尔遐想，有朝一日若能平静地再次回到那条路上，从晚上的上弦场旁漫步而过，云淡风轻，仿佛是自我救赎的结局一样。 过后的日子，曾经每天倒数不断准备的金山面试，已无任何意义。再之后的日子，如同当初在木栈道上错乱的心情一样，背离自己内心深处的答案越来越远。此刻，只想将这一切错乱，亲手停摆。 在这还有热血去燃烧的岁月里，真庆幸曾经的梦想，一直都在。 梦至未名 © Tyreal, 2010. &#124; 2 comments &#124; Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License Post tags:]]></description>
			<content:encoded><![CDATA[<p>距离我上一次写东西，俨然已经过去了4个月。一毕业，工作之后，就处于盲目奔波状态，却没什么新的收获。在一个南方还算有点名气的集团里弄嵌入式开发，待了一个月多久就离职了，所做的事情无非只是预备热身，没太多值得道来。</p>
<p>此刻的我，又回到了复习考研的路上。只有3个月的时间里，跟其他正常的统考计算机的人一样要复习3科，外加一本没有学过的离散数学。这样的成功概率有多小，其实根本就不在意，这只是年少轻狂的血液躁动之后的不安分。考研究竟有没有意义，根本不去深究，只是选自己曾经想走的路。</p>
<p>昨天跟Jennal聊天的时候，审视了下自己，除了只会写点小玩意，从来没弄过中等规模以上的开发。做过最拿得上台面的东西，也就只有那份毕设了，虽然可能是在FPGA上第一份OpenCV移植成功的资料，也经常有人来信问我一些事情，不过平心而论，我也只是做完毕设之后就没再深入了。对于OpenCV，其实我并不是很懂，算法这种东西对我这个电子系出身又不是很勤快研究的人来说，更是门外汉的水平。偶然间收到一个英国研究生的来信，对于3D高斯模糊优化这种问题只好汗颜回信说我并不了解。而后关于OpenCV移植的一些来信，都只是简单的说一些建议跟指导，每次都谨慎回复，深怕误导了别人。前些日子看到Jennal写的漫画下载器，还是蛮羡慕的，因为自己从来就没弄个像样的项目出来，答应帮他做的QuesLite的Flex界面也拖到最后只能道歉说没时间动手。</p>
<p>就是这样长期处于羡慕别人的状态，无论是写程序，还是弹吉他。读一个都已经底层到物理级别的微电子专业，编程是自学的，弹吉他也只是有了好友的吉他之后，在网上搜了下乐理看看视频自娱自乐而已。当初折腾了半天才写出了WoW的插件，看弹奏视频也是揣摩了好久才把切音练熟。每每看到很多弹唱自如的视频旁边写着“新手”二字，我都只能保持⊙﹏⊙!的表情。反正我天生节奏无能，又没有音感，唱歌的时候已经是满负载运作了，又弹又唱现在还是办不到的。至于技术，硬件方面皮毛都不懂，软件能力疲软，自己这样的单核CPU脑袋却曾经狂妄的想要并行处理，这又是多么讽刺的事情。</p>
<p>工作之后才意识到自己一些想法的改变，会不会以后就不会再有为自己曾经的想法而活的冲动呢？自认为辛辛苦苦才从同辈们手中抢来的工作，一个月的工资是2500，在厦门这样的地方要涨到猴年马月才能出头呢？一直认为，在分配不均的局势下，想法比努力重要，不过，这或许又是为自己的不努力找借口。什么叫“辛辛苦苦”，我这种大三之后才知道“努力”的人根本没资格谈这个词。</p>
<p>大三的暑假，跑去厦大找阿睿跟飞龙学东西，那段蹭吃蹭喝的日子里，晚饭后散步在环岛路走回海韵校区的路上，记得有几次跟阿睿的对话都让他对我这个偏执的小孩颇为无奈。我跟Jennal说我辞职准备考研，他很自然的认为我会报考厦大。那些在木栈道上来来回回的每一晚，舒适的海风还有那缓缓拂拭沙滩的浪涛，都未曾让自己放下焦虑的心情，那个暑假的一切，都只是为了挽回某人的盲目努力而已。然而，后来几次再回到厦大西村的时候，自己也没再试着一路走回海韵，却偶尔遐想，有朝一日若能平静地再次回到那条路上，从晚上的上弦场旁漫步而过，云淡风轻，仿佛是自我救赎的结局一样。</p>
<p>过后的日子，曾经每天倒数不断准备的金山面试，已无任何意义。再之后的日子，如同当初在木栈道上错乱的心情一样，背离自己内心深处的答案越来越远。此刻，只想将这一切错乱，亲手停摆。</p>
<p>在这还有热血去燃烧的岁月里，真庆幸曾经的梦想，一直都在。</p>
<hr />
<p><a href="http://blog.tyreal.net/archives/73">梦至未名</a>
<br />
<br />
© <a href="http://blog.tyreal.net">Tyreal</a>, 2010. |
<a href="http://blog.tyreal.net/archives/73#comments">2 comments</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>
<br />
<br />
Post tags: <br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.tyreal.net/archives/73/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
