<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pClass的专栏]]></title><description><![CDATA[create unlimited bugs during limited life]]></description><link>https://blog.youkuaiyun.com/pClass</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pClass]]></copyright><item><title><![CDATA[战争迷雾的实现]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/41970437</link><guid>https://blog.youkuaiyun.com/pClass/article/details/41970437</guid><author>pClass</author><pubDate>Tue, 16 Dec 2014 22:55:06 +0800</pubDate><description><![CDATA[在开发游戏的过程中，特别是地图编辑器中，需要利用最少的资源，实现最丰富的地形地貌。虽然现在众多的RPG开始使用整图，但是我们偶尔还是需要能够让玩家自己编辑地图，或者其他需要自动进行地图构建的功能。
另外，就是在一些策略类游戏里经常用到的战争迷雾，我试过自己编写Pixel Bender自己来编写过滤器而实现战争迷雾。不过效果不是很理想（速度太慢）。后来想到，可以利用地图拼接的原理来进行战争迷雾的实]]></description><category></category></item><item><title><![CDATA[libxml and ruby]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7829903</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7829903</guid><author>pClass</author><pubDate>Sat, 04 Aug 2012 12:35:52 +0800</pubDate><description><![CDATA[gem install nokogiri

The most painless way to use libxml on Windows with Ruby]]></description><category></category></item><item><title><![CDATA[游戏优化]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7820521</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7820521</guid><author>pClass</author><pubDate>Wed, 01 Aug 2012 23:26:52 +0800</pubDate><description><![CDATA[今天，静下心来进行了传说中的游戏性能优化，由于前些日子进行的优化都是基于资源方面的，该做的已经都做了，所以今天就在代码以及游戏性方面进行着力。

 

所谓的游戏性方面，是指在游戏的过程中，将那些内存消耗较大，比较费时的操作进行替代。尽可能地增加效率。

拿sexyapp的框架来说，里面的drawimage的性能会比drawimagemirror的性能高上好多。

 

资源整]]></description><category></category></item><item><title><![CDATA[跟我一起写 Makefile]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7776424</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7776424</guid><author>pClass</author><pubDate>Mon, 23 Jul 2012 17:52:39 +0800</pubDate><description><![CDATA[概述
——

什么是makefile？或许很多Winodws的程序员都不知道这个东西，因为那些Windows的IDE都为你做了这个工作，但我觉得要作一个好的和professional的程序员，makefile还是要懂。这就好像现在有这么多的HTML的编辑器，但如果你想成为一个专业人士，你还是要了解HTML的标识的含义。特别在Unix下的软件编译，你就不能不自己写makefile了，会不会写m]]></description><category></category></item><item><title><![CDATA[20条开发AIR Native Extension的建议]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7700081</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7700081</guid><author>pClass</author><pubDate>Thu, 28 Jun 2012 17:07:40 +0800</pubDate><description><![CDATA[这篇文章写得非常好，基本包括了目前ANE开发需要的所有注意事项，感谢作者Richard
 Lord


原文地址：http://www.richardlord.net/blog/20-tips-for-creating-air-native-extensions-for-ios

http://jamesli.cn/blog/?p=1438


文中我会以作者的口吻来翻译]]></description><category></category></item><item><title><![CDATA[软键盘挡住输入框的解决方案（记录一下，未测试）]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7388832</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7388832</guid><author>pClass</author><pubDate>Fri, 23 Mar 2012 22:00:22 +0800</pubDate><description><![CDATA[大家在布局时候，有时候会发现输入框被挡住一部分，能完全显示出来，但是系统自带短信界面 
可以完全漂浮在软键盘之上，看了一下短信源码，修改一下输入模式就可以了，源码如下 
代码方式：  
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | 
                Win]]></description><category></category></item><item><title><![CDATA[Android代码混淆与反射机制]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7388584</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7388584</guid><author>pClass</author><pubDate>Fri, 23 Mar 2012 20:23:45 +0800</pubDate><description><![CDATA[当代码中使用反射机制时，由于函数名会被混淆掉，而对应的字符串是不会混淆的，会导致反射失败，所以有反射机制的类不能使用混淆


可以使用keep命令不混淆该类代码，如果有使用第三方开源库，不知道是否使用反射机制时，最好不要混淆。


-keep class com.test.** {*; }   //这句代码表示com.test包下的所有类都不混淆，一般适用于第三方开源库
-keep]]></description><category></category></item><item><title><![CDATA[android软键盘弹出引起的各种不适终极解决方案]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7385079</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7385079</guid><author>pClass</author><pubDate>Thu, 22 Mar 2012 21:46:41 +0800</pubDate><description><![CDATA[很多写登录界面的开发者都会遇到一个问题：那就是在登录界面时，当你点击输入框时，下边的按钮有时会被输入框挡住，这个不利于用户的体验，所以很多人希望软键盘弹出时，也能把按钮挤上去。很多开发者想要监听键盘的状态，这无疑是一个很麻烦的做法。

       我们可以在AndroidManifest.xml的Activity设置属性：android:windowSoftInputMode = "adju]]></description><category></category></item><item><title><![CDATA[Android 打开URL]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7380494</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7380494</guid><author>pClass</author><pubDate>Wed, 21 Mar 2012 18:29:06 +0800</pubDate><description><![CDATA[打开链接        Intent it = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));
        it.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
        getContext().s]]></description><category></category></item><item><title><![CDATA[Android 在一个程序中启动另一个程序]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/7376099</link><guid>https://blog.youkuaiyun.com/pClass/article/details/7376099</guid><author>pClass</author><pubDate>Tue, 20 Mar 2012 23:29:42 +0800</pubDate><description><![CDATA[Android 开发有时需要在一个应用中启动另一个应用，比如Launcher加载所有的已安装的程序的列表，当点击图标时可以启动另一个应用。 
一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动： 
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CA]]></description><category></category></item><item><title><![CDATA[动态参数_Min]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6756817</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6756817</guid><author>pClass</author><pubDate>Wed, 07 Sep 2011 14:59:17 +0800</pubDate><description><![CDATA[void MyLog(NSString *format, ...) {
    va_list args;
    va_start(args, format);
    NSString *formattedString = [[NSString alloc] initWithFormat: format]]></description><category></category></item><item><title><![CDATA[[Day]使用AES在php中加密，并用objective-c解密]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6727552</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6727552</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 22:36:34 +0800</pubDate><description><![CDATA[从AES for iphone下载AES库
在不同平台进行AES加密，并使用Base64进行编码，结果有可能不同，但解密之后会一样，所以不要因为在2个平台加密结果不一样而认为自己错了。。。


php加密解密：

<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$iv = mcrypt]]></description><category></category></item><item><title><![CDATA[xcode调试找出错误行]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6727008</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6727008</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:37:45 +0800</pubDate><description><![CDATA[很多时候，在调试程序的时候，我们很想马上知道错误的代码在哪一行。 而不想大概设置一个断点，逐行调试发现最终是哪一行代码出问题导致程序崩溃。 可以使用下面这个办法快速定位问题代码。
1、选择Run–>Show–>Breakpoints，进入断点窗口

2、首先需要为-[NSE]]></description><category></category></item><item><title><![CDATA[mac系统建立wifi网络]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6727006</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6727006</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:37:14 +0800</pubDate><description><![CDATA[1. 在“系统偏好设置”中选择"网络共享"。 

2. 如果你是插网线上网，那么，在右侧选“通过以下方式："ethernet”，“连接共享给其他电脑：”－勾选“AirPort”。然后，勾选左侧的“Internet共享”，再点击开始。你可以继续在选项里设置wifi密码之类的]]></description><category></category></item><item><title><![CDATA[调用dll显示对话框]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6727001</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6727001</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:34:58 +0800</pubDate><description><![CDATA[加载dll，显示对话框之后不要立刻调用FreeLibrary;特别是非模态显示对话框时
先创建一个DLL工程，新增一个函数如下，然后生成DLL文件
 
extern "C" __declspec(dllexport) void Show() {

//这里显示一个窗口

}]]></description><category></category></item><item><title><![CDATA[映泰TH67+的主板前置AC 97音频解决方案]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6727000</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6727000</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:33:56 +0800</pubDate><description><![CDATA[前几天买了台电脑，发现映泰TH67+的主板前置音频不能使用，以为装机的人没有给我接前置接口，自己看了一下，已经接了，而且是正确的，结果看说明书说只支持HD高清接口，不支持AC 97的，以为完了，在网上搜索一翻，发现AC 97接口是可以用的，只是要在Realtek高清晰音频管理器中]]></description><category></category></item><item><title><![CDATA[XCode SVN配置]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6726997</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6726997</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:33:22 +0800</pubDate><description><![CDATA[Leopard中自带了SVN，但Xcode的项目文件中，并不是所有文件都适于加入SVN中进行管理，比如编译后的文件和编译过程中产生的文件，这些文件不属于源代码，应该告诉svn忽略掉，方法：

编辑 ~/.subversion/config 文件 
注意：如果”.subver]]></description><category></category></item><item><title><![CDATA[SVN忽略文件]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6726996</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6726996</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:32:38 +0800</pubDate><description><![CDATA[比如Thumbs.db
 
右击鼠标-> 选择 TortoiseSVN -> Setting (设置) -> General (常规设置) -> 在右侧 "Golbal ignore pattern"(全局忽略样式)内填入Thumbs.db -> 确定;]]></description><category></category></item><item><title><![CDATA[iphone创建文件]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6726993</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6726993</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:31:15 +0800</pubDate><description><![CDATA[注意2点：1、创建多级目录的文件时，要先判断其目录是否存在，如果不存在就创建该目录，如果没有创建该目录，文件是不能创建成功的2、不要使用- (BOOL)createDirectoryAtPath:(NSString *)path attributes:(NSDictionary *)attributes，这个方法在模拟器中可能能成功运行，但在设备上肯定不行的，改用- (BOOL)createDir]]></description><category></category></item><item><title><![CDATA[NSData加密]]></title><link>https://blog.youkuaiyun.com/pClass/article/details/6726991</link><guid>https://blog.youkuaiyun.com/pClass/article/details/6726991</guid><author>pClass</author><pubDate>Sun, 28 Aug 2011 16:30:40 +0800</pubDate><description><![CDATA[首先将data转换为byte,然后对byte进行操作，以下对data进行简单的加密进行举例，比如将所有字符ASCII码加1
 
-(NSData *) encryptData (NSData *)data {
    int lengthTemp = [data length];
    char *bytesTemp = malloc(lengthTemp+1);
    [data]]></description><category></category></item></channel></rss>