上一页 1 2 3 4 5 6 7 ··· 65 下一页
摘要: cocos2d-x-使用fopen函数读取assets里的内容导致crash2012年11月25日 Alex Zhou发表评论阅读评论7,613 人阅读 最近把win32和ios上运行成功的游戏移植到android时,程序直接挂了,查到原因是:使用fopen读取assets里的数据会导致应用crash,因为数据已经被压缩打包进apk文件里了。解决办法:1.使用cocos2d-x提供的CCFileUtils工具类2.把assets中的文件读取出来复制到/data/data/you_app_packagename/或者sd卡目录下,然后再使用fopen函数读取。下面来看看如何使用CCFile. 阅读全文
posted @ 2014-01-15 11:49 Lunaa 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 边缘触发(Edge Trigger)和条件触发(Level Trigger)概述边缘触发 是指每当状态变化时发生一个io事件; 条件触发 是只要满足条件就发生一个io事件; 详述 int select(int n, fd_set *rd_fds, fd_set *wr_fds, fd_set *ex_fds, struct timeval *timeout); select用到了fd_set结构,此处有一个FD_SETSIZE决定fd_set的容量,FD_SETSIZE默认1024,可以通过ulimit -n或者setrlimit函数修改之。 int poll(struct pollfd 阅读全文
posted @ 2014-01-14 11:59 Lunaa 阅读(3199) 评论(0) 推荐(0) 编辑
摘要: 高精度计时器2010-12-28 21:28:34|分类:Game|字号订阅 以前写游戏时习惯用QueryPerformanceFrequency和QueryPerformanceCounter来做高精度计时器。DirectX SDK自带的DXUT中有个CDXUTTimer就是这么用的。很多应用都会建立在高精度计时器上,计时器的精度可以在一定程度上影响游戏帧率的准确、稳定。 但要注意QueryPerformanceFrequency函数在多核CPU上是有猫腻的: On a multiprocessor computer, it should not matter which proces. 阅读全文
posted @ 2014-01-14 10:59 Lunaa 阅读(636) 评论(0) 推荐(0) 编辑
摘要: libev和libevent区别风河 Common2013-10-29 两者都是事件驱动编程库,对于它们之间的区别,看了stackoverflow上libev的作者Marc Lehmann的解释,有所了解。简单说libev对libevent做了改进和精简。libevent使用全局变量,导致非线程安全。它的watcher结构也过大,把I/O、计时器、信号句柄整合在一起。而且(作者认为)libevent的附加组件如http和dns库都实现不好,且有安全问题。libev对这些地方做了改进,避免使用全局变量,拆分watcher等。另外libev去掉了外部库(比如http和dns),只专注于事件驱动 阅读全文
posted @ 2014-01-14 09:36 Lunaa 阅读(274) 评论(0) 推荐(0) 编辑
摘要: CDHtmlDialog探索----Javascript与窗体交互CDHtmlDialog提供了C++与网页的双向交互,通此一系统简单的宏调用可以把网页中各元素的事件直接映射到C++程序中,而在网页中调用C++功能代码就显的不那么直观了。归根结底交互的基理就是实现相应COM接口。实现方式如下:1、在窗体初始化时调用EnableAutomation函数。 通常情况下是放在窗体的构造函数中,EnableAutomation();当然也可以放在OnInitDialog中,不过要注意顺序,其调用不应该晚于对SetExternalDispatch的调用。此函数在底层的实现就是引用到正确的IDispat. 阅读全文
posted @ 2014-01-09 13:00 Lunaa 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Alpha混合模式:直接 Alpha 和预乘 Alpha2011-08-08 19:38:30|分类:定期查阅|字号订阅支持的像素格式和 Alpha 模式http://msdn.microsoft.com/zh-cn/library/dd756766(v=VS.85).aspx#section_9_2关于 Alpha 模式关于预乘和直接 Alpha 模式D2D1_ALPHA_MODE枚举指示 Alpha 通道是使用预乘 Alpha、直接 Alpha 还是应被忽略并视为不透明。对于直接 Alpha,Alpha 通道指示一个对应于颜色的透明度的值。请注意,无论目标格式如何,Direct2D 绘制命 阅读全文
posted @ 2013-12-30 19:07 Lunaa 阅读(1357) 评论(0) 推荐(0) 编辑
摘要: 1. gif图片产生杂边锯齿的原因 1.1 索引透明颜色与Alpha透明颜色 1.2 photoshop的半透明平滑处理 1.3 gif图片(或png8图片)产生锯齿的原因 1.4 形状与锯齿之间的关系2. 如何有效的避免gif图片的杂边锯齿 2.1 绘制带有锯齿的图形或文字避免杂边锯齿 2.2 通过杂边设置弱化网页中gif锯齿的影响 2.3 使用gif透明图片插件 2.4 手工对图片进行像素抠取3. 如果上面所有的讨论,提供的方法都不适用三、文章主体1. gif图片产生杂边锯齿的原因 1.1 索引透明颜色与Alpha透明通道 要说索引颜色透明,首先要讲讲什么是索引颜色,百度百科上有对索引颜色 阅读全文
posted @ 2013-12-27 16:40 Lunaa 阅读(1505) 评论(0) 推荐(0) 编辑
摘要: addEventListener()方法public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void语言版本:ActionScript 3.0运行时版本:AIR 1.0, Flash Player 9, Flash Lite 4使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和优先级在显示列表 阅读全文
posted @ 2013-12-25 14:56 Lunaa 阅读(175) 评论(0) 推荐(0) 编辑
摘要: Lua 虚拟机指令Lua运行代码时,首先把代码编译成虚拟机的指令("opcode"),然后执行它们。 Lua编译器为每个函数创建一个原型(prototype),这个原型包含函数执行的一组指令和函数所用到的数据表。1从Lua5.0开始,Lua使用基于寄存器的虚拟机(虚拟机主要分为基于寄存器的和基于栈的)。 为了分配寄存器使用时的activation record,这个虚拟机也使用到了栈。 当Lua进入函数时,它从栈中预分配了足够容纳所有函数寄存器的activation record。 所有的局部变量在寄存器中分配。因此提高了访问局部变量的效率。基于寄存器的指令避免了“push 阅读全文
posted @ 2013-12-23 14:56 Lunaa 阅读(1559) 评论(0) 推荐(1) 编辑
摘要: 昨天折腾了一个晚上,终于把我写的美女时钟桌面 的air应用程序给发布出去了,在发布的过程中还出现了点问题(下文有说明),不过总算解决了累死我了。 Air应用程序的部署和发布不是一般的麻烦,想来很多和我一样的Air初学开发者在部署Air应用程序可能都不知道怎么做,于是我写了这篇文章,希望能对你有所帮助。 如果你想发布一个Air程序,需要两个步骤,打包和部署。下面对这两个步骤都做详细的说明。本文以上次发布的美女时钟桌面 作为示例。一、打包Air应用程序步骤1. 生成签名文件(数字证书, CA)Air的应用程序签名(CA)是强制,不签名无法打包应用程序,签名基于RSA不对称加密,生成一对公钥和私钥, 阅读全文
posted @ 2013-12-23 13:26 Lunaa 阅读(382) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 65 下一页