[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"blog-page-33":3,"blog-count":303},[4,59,155,207,259],{"id":5,"title":6,"body":7,"date":37,"description":13,"extension":38,"meta":39,"navigation":42,"path":54,"seo":55,"stem":56,"tags":57,"__hash__":58},"blogs\u002F_legacy\u002F2013\u002F2013-03-31-%e4%b8%89%e6%9c%88%e8%ae%b0%e4%ba%8b.md","三月记事",{"type":8,"value":9,"toc":32},"minimark",[10,14,17,20,23,26,29],[11,12,13],"p",{},"转眼2013年的3月就要过去，这新的一年就要过去一个季度了。",[11,15,16],{},"对于总是没有办法好好把握好时间的我而言，并不是什么好的消息。一个月来尝试着做了不少改变，然而若是以结果而言却又什么也没有。充其量不过是在证明些自己早已知道的结论而已。但是有其过程，最终也带来了些微的修正，或许也是值得高兴的事情呢。",[11,18,19],{},"说起来三月给我带来最大震撼的事情是，我发现自己居然如此的不了解自己。以前从来没有做过这样的尝试，只是把大部分的行为都当做了理所当然。于是某一天我忽然发现，为什么我会抱有这样的想法呢？然后产生了疑问。我的想法中很多的我自己认为是理所当然的事情变得毫无缘由。在生活中我总是会选择记住结论，除此之外的东西都会被忽略。",[11,21,22],{},"然后我发现了自己的一无所知，甚至连自己都不了解。一切都被自己模式化的处理着，没有任何自觉，不是去正视现实，而是去期待那虚无缥缈的偶然。正是因为这样，才会一次又一次的犯下同一个错误。明明自己并不是什么完美的存在，却从来不肯去面对自己的不足。想着只要闭上眼睛，眼前的一切都会过去的吧。",[11,24,25],{},"于是开始重新思考，”死之前会有生命吗？“这个问题。第一次看到这个问题的时候并没有格外的注意这句话。只是现在却能体会到问这句话的人的心情。尤其是对于我这种在生活更多的是依靠本能和潜意识而活着的人而言，明明生活中几乎没有一刻可以算作是活着，为什么却还希望这样的生活永远持续下去呢？我一直都希望能够在生活中得到什么结论，然而不知何时思考这种东西渐渐的从我的生活中失去了。只是单纯的沿着固定的思维轨迹，不停的重复，这样的行为根本不能算作是思考，只能算作是不停的自我映证而已。",[11,27,28],{},"正如 克里希那穆提 在《生命之书》中说的一样。所谓的思考和学习是从未知到已知的过程，而不是不停的从已知的到已知的过程。而生活中最重要的是去寻找所有存在于当下的实相，而不是被过去和未来的幻想所蒙蔽。说到生命之书，我发现这本书还是颇有内容的。大概因为它是同类书籍的早期作品吧，现在的励志和所谓的灵修类目里，多是些毫无内涵可言的书和欺世盗名的作者。大概这些东西更多的是被变成一个产业了吧。",[11,30,31],{},"不过，在这四月将临，档期要换成春番的日子，所有的这些都不是我所想要去表达的。因为对于现在的我而言，我并不了解什么才是我想要表达的，我只知道什么不是我想要表达的。但是我依然抱持着这样的想法，只要我学着不停的去表达，总要一天我能够很好的找到并表达出来的吧。今后也要和自己的无知与愚昧好好相处呢。",{"title":33,"searchDepth":34,"depth":35,"links":36},"",2,3,[],"2013-03-31","md",{"layout":40,"status":41,"published":42,"author":43,"author_login":44,"author_email":45,"author_url":46,"wordpress_id":47,"wordpress_url":48,"date_gmt":49,"excerpt":50},"post","publish",true,{"display_name":44,"login":44,"email":45,"url":46},"chaoshikari","chaoshikari@gmail.com","\u002F",578,"\u002F\u002F?p=578","2013-03-31 14:39:45 +0000",{"type":8,"value":51},[52],[11,53,13],{},"\u002F2013-03-31-三月记事",{"title":6,"description":13},"_legacy\u002F2013\u002F2013-03-31-%e4%b8%89%e6%9c%88%e8%ae%b0%e4%ba%8b",[],"d-ke0yEDrlo7_OAFnv9zebB3pYu73mqpkpdlzVI96Hc",{"id":60,"title":61,"body":62,"date":139,"description":66,"extension":38,"meta":140,"navigation":42,"path":149,"seo":150,"stem":151,"tags":152,"__hash__":154},"blogs\u002F_legacy\u002F2013\u002F2013-02-24-librocket%e5%9c%a8cocos2d-x%e4%b8%ad%e4%bd%bf%e7%94%a8.md","libRocket在cocos2d-x中使用",{"type":8,"value":63,"toc":137},[64,67,70,73,76,83,86,89,92,102,113,116,119,125,128,134],[11,65,66],{},"libRocket是一个MIT协议开源的UI库，它最主要的理念是以css和html的形式来设计界面，可以极大的降低开发界面的成本。",[11,68,69],{},"之所以会接触到这个库是因为cocos2d-x的ui库可以说是正在建设中的状态，用起来多少有些不顺手。这个ui库用起来确实不错，只是最后和我的有所相差，经过考虑之后还是放弃了。不过这里还是把一些经验上的东西分享出来，希望能够对用的童鞋有所帮助。",[11,71,72],{},"libRocket本身是与显示层独立的，也就是说只要实现了相关接口，理论上它可以在所有的设备上运行。",[11,74,75],{},"首先是关于librocket自身的编译，这个库比较新，可以正常的在vs2010下编译通过。在编译过程中可能会需要freetype，如果想要正常的使用自带的例子程序，还需要zlib和libpng库，总之根据提示添加相应的配置项即可。没有什么特别需要注意的。一切完成之后，编译运行RocketInvader项目，将会看到下面的简易小游戏：",[11,77,78],{},[79,80],"img",{"alt":81,"src":82},"rocket_invaders","\u002Fwp-content\u002Fuploads\u002F2013\u002F02\u002Frocket_invaders-300x206.jpg",[11,84,85],{},"可以看到作为一个游戏需要的基本的ui组件都已经实现了，而且居然还可以用来实现一个简单的游戏逻辑，不过说实话这个游戏不是一般的变态……点开help可以看到的是整个库最让人满意的地方，就是富文本支持，而且完全是按照htlm标准来写的，用起来十分方便。",[11,87,88],{},"到了这一步librocket库基本就搞定了，现在就剩下将它与cocos2d-x相结合了。其实库中本来是提供了opengl的渲染接口的，但是只是简单的对其进行修改会发现完全无法显示，最后查了一下，发现要在es上渲染必须借助shader才行。总而言之直接上代码，虽然想要这么说。还是先解释一下要实现的接口吧。",[11,90,91],{},"我们要实现的接口除了消息传递之外总共有两个，分别是systeminterace和renderinterface，作用从字面即可理解。systeminterface的作用是提供基本的时间标定，就是说为librocket提供游戏已经运行的时间。但是cocos2d-x貌似没有提供这个功能，于是自己实现了个，代码如下",[93,94,99],"pre",{"className":95,"code":97,"language":98},[96],"language-text","class CocoSystemInterface : public Rocket::Core::SystemInterface\n{\nprivate:\n    struct cocos2d::cc_timeval begin;\npublic:\n    virtual float GetElapsedTime(){\n        struct cocos2d::cc_timeval now;\n        cocos2d::CCTime::gettimeofdayCocos2d(&now,NULL);\n        return cocos2d::CCTime::timersubCocos2d(&begin,&now)\u002F1000;\n    }\n\n    void init(){\n        cocos2d::CCTime::gettimeofdayCocos2d(&begin,NULL); \n    }\n\n};\n","text",[100,101,97],"code",{"__ignoreMap":33},[11,103,104,105,112],{},"第二个需要实现的是渲染接口renderinterface，其间遇到了个问题，就是shader模式下回默认打开深度测试，所以必须把它关掉。否则在同样使用了深度测试的map等层上就会出现奇怪的显示bug。而且不关闭深度测试时，所有ui绘制将会处在最顶层，这和大多数设计都是冲突的。代码部分请看刚刚建立的",[106,107,111],"a",{"href":108,"rel":109},"https:\u002F\u002Fgithub.com\u002Fsteinkrausls\u002Fllibrocket-cocos2d-x",[110],"nofollow","Git","。",[11,114,115],{},"关于git库中的代码，只要包含RocketSingle.h就可以将RocketLayer当做普通的layer来使用了，注意由于是shader绘制的，原本的矩阵偏移并没有计算入内，所以setposition和setanchorpoint这类函数是不会其作用的。另外，父类ccsprite没有什么意义，因为不打算继续用了所以没有做下去，因此额外的，事件传递也没有做了。不过显示部分已经完整了。",[11,117,118],{},"关于librocket使用中的问题，那就是对中文字符的支持。在对应的Css或者Style中添加下面的配置就可以了。",[93,120,123],{"className":121,"code":122,"language":98},[96],"font-charset: U+3300-9FFF,U+0020-007E;\n",[100,124,122],{"__ignoreMap":33},[11,126,127],{},"但是有一个问题，librocket在对字符编码进行支持时是先将所有的字符图形读入缓存中然后在TextElement中使用的，这是为了照顾在运行时的效率。看下面的调用堆栈就能明显的看出来：",[11,129,130],{},[79,131],{"alt":132,"src":133},"librocket","\u002Fwp-content\u002Fuploads\u002F2013\u002F02\u002Flibrocket-300x168.jpg",[11,135,136],{},"这样的直接结果就是初始化时的时间会变得特别长，因为中文字符的编码区间很大，所以会消耗大量的读入时间。虽然对于稍大型的游戏，只要加入loading界面也就是不到5s的时间。但是对于目前在做的小项目而言，这样长的载入时间对于用户而言是不可理喻的。所以最后便没有采用librocket，而是决定采用cocos2d-x原生的ui。只能下次做英文游戏或是更大型的东西的时候再考虑它了。",{"title":33,"searchDepth":34,"depth":35,"links":138},[],"2013-02-24",{"layout":40,"status":41,"published":42,"author":141,"author_login":44,"author_email":45,"author_url":46,"wordpress_id":142,"wordpress_url":143,"date_gmt":144,"excerpt":145},{"display_name":44,"login":44,"email":45,"url":46},569,"\u002F\u002F?p=569","2013-02-23 17:26:42 +0000",{"type":8,"value":146},[147],[11,148,66],{},"\u002F2013-02-24-librocket在cocos2d-x中使用",{"title":61,"description":66},"_legacy\u002F2013\u002F2013-02-24-librocket%e5%9c%a8cocos2d-x%e4%b8%ad%e4%bd%bf%e7%94%a8",[153],"cocos2d-x","oWse_pxR0rZsUdsw-rde-sW6iX7MkpnTyjN-0_yFrso",{"id":156,"title":157,"body":158,"date":192,"description":162,"extension":38,"meta":193,"navigation":42,"path":202,"seo":203,"stem":204,"tags":205,"__hash__":206},"blogs\u002F_legacy\u002F2013\u002F2013-02-19-%e3%82%ab%e3%82%bf%e3%83%8f%e3%83%8d.md","カタハネ",{"type":8,"value":159,"toc":190},[160,163,166,169,172,175,181,184],[11,161,162],{},"刚推完片羽，已是凌晨近4点，虽是既不适合带病在身的行为，却也没有什么悔意呢。",[11,164,165],{},"窗外是即将降临于清晨的大雾和潺潺的流水上，不过两者都不会成为我精神满满的黎明了吧，因为马上就要暴睡一场了。本想直接上床睡的，突然难得的有了写点什么东西的心情，于是就这样从新打开了电脑。",[11,167,168],{},"其实很早就了解，自己不是适合去写对作品什么进行评价的人。本身就不擅长写东西，而且也更加习惯于将故事当做故事去读。想要从故事里解读什么，到头来只会无端的把自我给投射进去，毫无意义的行为。但是我却还是在这里写了起来，因为看着在薄雾的笼罩下莫名的有些陌生的世界，我忽然觉得，大概在这个世界上，能够这样真切的感觉和理解着在这里存在的自己的，也只有现在的自己了吧。",[11,170,171],{},"过去并不是安全的，因为在现实成为过去的一瞬间，它就不再真实。现在的自己和过去的自己，有时真的没法当成是一个完整的个体。或许未来的自己也会产生这样的疑惑吧。或许所谓的我只不过是一种无端的幻觉也说不定，不过这种无聊的想法却也没有什么意义。倒不如去想象一下阿卡夏记录的存在还更烂漫一些。因为无论人怎么思考，如果不将其付诸于具体的行动，对于世界而言就毫无意义。",[11,173,174],{},"片羽，我是因为怎样的因缘才让将这个游戏下载下来的呢？已经忘记了呢，总觉得以前总是会试着去记住能见到的任何东西，现在却有种放弃去对名为自我的东西进行记忆了一样。不过，也正因为如此，片羽这个游戏才会触动我的吧。既不是卖萌的小品，也不是千篇一律的学院系，而是一个恰到分量的物语。对于我而言，片羽正是一个关于记忆的物语呢。不会故作高深的去思考人生这种复杂的东西，也不会说带着勇气和友情去拯救世界，对于现在的我刚好的，关于记忆的物语。我从心里这样感觉。",[11,176,177],{},[79,178],{"alt":179,"src":180},"片羽","\u002Fwp-content\u002Fuploads\u002F2013\u002F02\u002Fk1.jpg",[11,182,183],{},"实际说到片羽以及作为过去的物语的黑羽，却不知道该怎么表达了。并不是对故事有什么挑剔的地方，只是不知何时学会了即便悲伤的时候也不会去悲伤了，所以有时就会分不清到底自己是不是悲伤了。大概某位伟大的人曾经说过，所谓的悲剧大概有几种形式来着……说实话不记得了。不过也没有关系，人大概是感觉上的动物，故事的感觉在我的心里，对于现在的我而言已经足够了。虽然我在这里写着，可是我并不能明确的在心中确立出自己要写的目的，我是想要传达什么吗？不明白。不过，与存在主义无关，我想这一切大概也是有着某种意义的，虽然大致上只是按着自己所想的在做。不过，无论是表达出来的还是深藏于心中的东西，为了明天以及之后的未来不再遗忘重要的东西，在这里，这样的我，切实的写下了这些东西，并在心中为了什么而祈祷。",[11,185,186],{},[79,187],{"alt":188,"src":189},"Ein","\u002Fwp-content\u002Fuploads\u002F2013\u002F02\u002Fk2.jpg",{"title":33,"searchDepth":34,"depth":35,"links":191},[],"2013-02-19",{"layout":40,"status":41,"published":42,"author":194,"author_login":44,"author_email":45,"author_url":46,"wordpress_id":195,"wordpress_url":196,"date_gmt":197,"excerpt":198},{"display_name":44,"login":44,"email":45,"url":46},562,"\u002F\u002F?p=562","2013-02-18 20:54:33 +0000",{"type":8,"value":199},[200],[11,201,162],{},"\u002F2013-02-19-カタハネ",{"title":157,"description":162},"_legacy\u002F2013\u002F2013-02-19-%e3%82%ab%e3%82%bf%e3%83%8f%e3%83%8d",[],"s4tMjj3I-LlLsOTVgJYN_mnh2FwQRy8EZXBFJbi21T8",{"id":208,"title":209,"body":210,"date":243,"description":214,"extension":38,"meta":244,"navigation":42,"path":253,"seo":254,"stem":255,"tags":256,"__hash__":258},"blogs\u002F_legacy\u002F2013\u002F2013-02-15-libvlc%e4%bd%bf%e7%94%a8%e4%b8%ad%e7%9a%84%e4%b8%80%e4%ba%9b%e5%b0%8f%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9.md","Libvlc使用中的一些小注意事项",{"type":8,"value":211,"toc":241},[212,215,218,221,224,227,230,238],[11,213,214],{},"近日在寻找一个跨平台的视频播放解决方案，最后在libvlc和ffmpeg之间犹豫了许久之后选择了libvlc。",[11,216,217],{},"虽然二者功能上差不多，但是感觉上libvlc对开发者更友好一点。大概是因为ffmpeg遭遇了不遵守开源协议的某些行为之后的愤慨之类的？不过wiki上的内容全都标注着out of date实在是让没接触过这个库的我有点不放心呢。",[11,219,220],{},"libvlc的使用非常简单，到官网下载vlc播放器。里面就会有sdk目录，虽然也能下源码，但是源码是没有办法在vs下编译的。无奈电脑上的ide只有vs，也不想再折腾去搞个mingw了，于是就直接使用编译好的lib和dll来使用。",[11,222,223],{},"libvlc提供的调用接口也很简洁，libvlc_video_set_callbacks直接处理回调就好了。ffmpeg似乎也有类似的功能，但是似乎要自己处理pts之类的东西，不过那是一篇标记为out of date的文章，具体情况就不得而知了。总之整个过程遇到了两个问题：",[11,225,226],{},"首先就是按照通常的过程把dll和lib以及include放好之后，在运行时却出现了内存访问错误。到网上搜索了之后得到解决方案是将plugins目录拷贝到libvlc的同级目录就好。虽然有60多m，但是其实只要根据自己的需求把多余的都去掉就可以了。毕竟又不是要做视频播放器……",[11,228,229],{},"之后在release模式下却出现了意想不到的问题，程序直接报错：无法定位程序输入点 __glewVertexAttribPointer 于动态链接库 libvlc.dll 上。这个错误多少有些让人莫名其妙，因为libvlc怎么会提供glew这类的入口点呢？但是程序在debug模式下运行一切正常，究竟是怎么回事呢？到网上搜索后未果，因为错误实在是有点奇葩。让我怀疑我的vs是不是哪里出问题了，差点想要重做系统……",[11,231,232,233],{},"最后想起来官方有一篇这样的文章",[106,234,237],{"href":235,"rel":236},"http:\u002F\u002Fwiki.videolan.org\u002FGenerateLibFromDll%E4%B8%BB%E8%A6%81%E4%BB%8B%E7%BB%8D%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90vs%E7%94%A8%E7%9A%84lib%EF%BC%8C%E5%BD%93%E6%97%B6%E7%9C%8B%E5%88%B0sdk%E7%9B%AE%E5%BD%95%E5%B7%B2%E7%BB%8F%E6%9C%89lib%E4%BA%86%E5%B0%B1%E6%B2%A1%E5%8E%BB%E5%AE%9E%E8%A1%8C%E3%80%82%E4%BD%86%E6%98%AF%E4%BA%8B%E5%AE%9E%E8%AF%81%E6%98%8E%E6%88%91%E9%94%99%E4%BA%86%EF%BC%8C%E6%8A%B1%E7%9D%80%E8%AF%95%E4%B8%80%E8%AF%95%E7%9A%84%E6%83%B3%E6%B3%95%E7%85%A7%E7%9D%80%E5%AE%98%E6%96%B9%E7%9A%84%E6%96%B9%E6%B3%95%E5%81%9A%E4%BA%86%E4%B8%80%E9%81%8D%EF%BC%8C%E7%84%B6%E5%90%8E%E6%8A%8A%E7%94%9F%E6%88%90%E7%9A%84lib%E6%8B%B7%E8%B4%9D%E5%88%B0%E9%A1%B9%E7%9B%AE%E9%87%8C%E3%80%82release%E6%A8%A1%E5%BC%8F%E4%B8%8B%E6%89%A7%E8%A1%8C%EF%BC%8C%E5%B1%85%E7%84%B6%E4%B8%8D%E6%8A%A5%E9%94%99%E4%BA%86%E2%80%A6%E2%80%A6",[110],"http:\u002F\u002Fwiki.videolan.org\u002FGenerateLibFromDll主要介绍如何生成vs用的lib，当时看到sdk目录已经有lib了就没去实行。但是事实证明我错了，抱着试一试的想法照着官方的方法做了一遍，然后把生成的lib拷贝到项目里。release模式下执行，居然不报错了……",[11,239,240],{},"总结一下就是这样的两个问题，首先，vlc是靠插件运行的，必须抱着libvlc.dll的同级目录下有需要的plugins。其次如果遇到了奇怪的问题，按照官方的说明自己生成一下lib比较好。",{"title":33,"searchDepth":34,"depth":35,"links":242},[],"2013-02-15",{"layout":40,"status":41,"published":42,"author":245,"author_login":44,"author_email":45,"author_url":46,"wordpress_id":246,"wordpress_url":247,"date_gmt":248,"excerpt":249},{"display_name":44,"login":44,"email":45,"url":46},560,"\u002F\u002F?p=560","2013-02-15 07:49:20 +0000",{"type":8,"value":250},[251],[11,252,214],{},"\u002F2013-02-15-libvlc使用中的一些小注意事项",{"title":209,"description":214},"_legacy\u002F2013\u002F2013-02-15-libvlc%e4%bd%bf%e7%94%a8%e4%b8%ad%e7%9a%84%e4%b8%80%e4%ba%9b%e5%b0%8f%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9",[257],"libvlc","70Bi2S0_CuvRz7BBqRAGyQwkb20pbwoxyJoVnhUyZsI",{"id":260,"title":261,"body":262,"date":287,"description":266,"extension":38,"meta":288,"navigation":42,"path":297,"seo":298,"stem":299,"tags":300,"__hash__":302},"blogs\u002F_legacy\u002F2013\u002F2013-02-12-cocos2d-x%e5%85%a8%e5%b1%8f%e5%88%87%e6%8d%a2.md","cocos2d-x全屏切换",{"type":8,"value":263,"toc":285},[264,267,270,273,276,282],[11,265,266],{},"前段时间研究了下cocos2d-x的全屏功能，虽然勉强算是实现了，但是却没有办法进行全屏的切换。",[11,268,269],{},"一直都是参照着nehe的opengl教程学习gl的，切换全屏这个功能描述起来也不复杂，就是给rc换成切换之后的dc就可以了。但是其中牵涉到句柄啊什么的各种windows api的东西，这些东西只在操作系统中接触过，而且只是原理层，实在是看到就头大。而且cocos的音频引擎似乎也和hwnd相关，实际改动起来各种bug，完全摸不着头脑。",[11,271,272],{},"昨天把引擎的音频换成openal了，cocos貌似因为al是lgpl的协议没有支持这个好东西？不过这不是重点。这样一来切换全屏就只剩下wgl上的问题了。但是原来的思路依然是行不通呢，生成新的dc的过程中哪些资源应该被销毁，哪些资源应该保留完全靠自己试。虽然rc中的东西肯定是不用动了，但是dc相关的各个变量也足以让人dt。于是在试了一阵之后终于还是放弃在网上找了一个新的思路。",[11,274,275],{},"之所以要切换dc是为了销毁原来的窗口，生成全屏窗口，然后再把rc付上去。但其实windows还是提供了别的方法来做这些事情的。过程姑且不计，能看到效果就行。代码如下，需要切换的时候直接调用即可。",[93,277,280],{"className":278,"code":279,"language":98},[96],"bool CCEGLView::modifyscreenmode(){\n    static BOOL iswindow= !m_bFullScreen;\n    long style;\n    style=GetWindowLong(m_hWnd,GWL_STYLE);\n    if(iswindow=!iswindow)\n    {\n        ChangeDisplaySettings(NULL,0);                  \u002F\u002F If So Switch Back To The Desktop\n        style |= WS_OVERLAPPEDWINDOW;\n        style &= ~(WS_SIZEBOX|WS_MAXIMIZEBOX);\n        SetWindowLong(m_hWnd,GWL_STYLE,style );\n        SetWindowPos(m_hWnd,\n            HWND_NOTOPMOST,0,0,\n            m_width,\n            m_heigth,\n            SWP_SHOWWINDOW);\n        setFrameSize(m_width,m_heigth);\n    }\n    else\n    {\n        DEVMODE dmScreenSettings;    \u002F\u002F Device Mode\n        memset(&dmScreenSettings,0,sizeof(dmScreenSettings));   \u002F\u002F Makes Sure Memory's Cleared\n        dmScreenSettings.dmSize=sizeof(dmScreenSettings);    \u002F\u002F Size Of The Devmode Structure\n        dmScreenSettings.dmPelsWidth    = m_width;   \u002F\u002F Selected Screen Width\n        dmScreenSettings.dmPelsHeight   = m_heigth;  \u002F\u002F Selected Screen Height\n        dmScreenSettings.dmBitsPerPel   = 32;    \u002F\u002F Selected Bits Per Pixel\n        dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;\n\n        \u002F\u002F Try To Set Selected Mode And Get Results.  NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar.\n        if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL)\n        {\n            \u002F\u002F If The Mode Fails, Offer Two Options.  Quit Or Use Windowed Mode.\n            if (MessageBox(NULL,L\"全屏模式在当前显卡上设置失败\\n使用窗口模式？\",L\"提示\",MB_YESNO|MB_ICONEXCLAMATION)==IDYES)\n            {\n                iswindow=true;   \u002F\u002F Windowed Mode Selected.  Fullscreen = FALSE\n            }\n            else\n            {\n                \u002F\u002F Pop Up A Message Box Letting User Know The Program Is Closing.\n                MessageBox(NULL,L\"程序将会关闭.\",L\"错误\",MB_OK|MB_ICONSTOP);\n                return FALSE;    \u002F\u002F Return FALSE\n            }\n        }\n\n        SetWindowLong(m_hWnd,GWL_STYLE,style&(~WS_OVERLAPPEDWINDOW));\n        SetWindowPos(m_hWnd,\n            HWND_TOPMOST,0,0,\n            GetSystemMetrics(SM_CXSCREEN),\n            GetSystemMetrics(SM_CYSCREEN),\n            SWP_SHOWWINDOW);\n\n    }\n\n}\n",[100,281,279],{"__ignoreMap":33},[11,283,284],{},"这样的话也不用原来那些繁琐的重建窗口了，就避免了很多麻烦。",{"title":33,"searchDepth":34,"depth":35,"links":286},[],"2013-02-12",{"layout":40,"status":41,"published":42,"author":289,"author_login":44,"author_email":45,"author_url":46,"wordpress_id":290,"wordpress_url":291,"date_gmt":292,"excerpt":293},{"display_name":44,"login":44,"email":45,"url":46},556,"\u002F\u002F?p=556","2013-02-12 08:15:00 +0000",{"type":8,"value":294},[295],[11,296,266],{},"\u002F2013-02-12-cocos2d-x全屏切换",{"title":261,"description":266},"_legacy\u002F2013\u002F2013-02-12-cocos2d-x%e5%85%a8%e5%b1%8f%e5%88%87%e6%8d%a2",[153,301],"全屏","qhyIQa8sDt7M2xU5K15oR6DuOhZn59QmkX6TEtKb2ME",222,1788763182865]