- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 判断平面目标点在视野中
dst1 ={x=100,y=100}dst3 = {x=-100,y=80}dst4 = {x=-100,y=-100}dst2 = {x=100,y=-10}my = {x=0,y=0,d=20,dr=30}--o1是中心角色,o2是目标角色function degree(o1,o2)local a = (o2.y-o1.y)/(o2.x-o
2012-03-13 17:49:47
458
原创 lua中require和module的区别
require不存_G只存package.loadedmodule即存_G又存package.loadedpackage.loaded里存的是require和module最后的返回值require 默认返回值是truemodule 默认返回值是模块的table也就是_G[modulename]返回多个值时package.loaded取第一个值如果一个
2012-02-23 16:31:20
2026
原创 lua利用metatable重载操作符测试代码
m = {}m.__add = function(...) print("add","+",...) endm.__sub = function(...) print("sub","-",...) endm.__mul = function(...) print("mul","*",...) endm.__div = function(...) print("div","/",..
2012-02-22 17:23:40
1106
原创 flash连接socket的安全沙箱问题解决
方法1:检查发到端口上的数据如果是请求策略文件的话就把下面的策略文件发回去就行。方法2:在socket的服务器的同一台服务器上打开843端口,专门返回策略文件。因为 as3的socket默认是先用Security.loadPolicyFile("xmlsocket://"+ IP +":843");去找服务器上843端的策略文件。
2012-02-20 18:54:36
788
原创 lua堆栈内存问题
lua_pushstring(L,funcname);lua_getglobal(L,-1);lua_pushnumber(L,a);lua_pcall(L,1,0,0);有可能使lua堆栈不断增长,所以如果不能确定堆栈里有什么时,可以用下面的方法来保证堆栈大小。int top = lua_gettop(luaState);...lua_settop
2012-02-20 18:54:31
1082
原创 lua中的类
只说最简单的首先要理解函数用.和:的区别:在lua中function Class.new(self,o)和function Class:new(o)是等价的,用冒号只是可以少写点字,没有其他用处。然后建个table当基类BaseClass = {}BaseClass.__index = BaseClassBaseClass.init = function(s
2012-02-20 18:54:25
344
转载 SQL语句性能测试
explain SQL语句性能测试返回值的具体含义如下:mysql>explain select * from table;+----+-------------+-------+------+---------------+------+---------+------+------+-------+| id | select_type | table | type | possib
2012-02-20 18:54:19
344
转载 传说中很快的浮点数开根号算法
float Q_rsqrt( float number )02 {03 long i;04 float x2, y;05 const float threehalfs = 1.5F;06 07 x2 = number * 0.5F;08 y = number;09 i = * ( long * ) &y; // evil floating point bit lev
2012-02-20 18:52:53
2491
原创 c++全局变量问题
今天在头文件里定义了static boost::asio::io_service G_IO_SERV;做全局变量,同时有几个用到这个全局变量的函数包含了这个头文件,在程序执行时,这个头文件被包含了几次就会调用几次构造函数,跟了下发现这几个生成的变量地址都不同(这个结论用屁股想也能想出来,肯定不同)。加了#ifndef也不行查书,发现static全局变量的有效域是本文件,定义最好还是放c
2012-02-20 18:52:30
321
转载 Lua的垃圾收集机制(转)
(本文中出现的Lua均只限于Lua 5.1.3; Python均只限于Python 2.5)Lua的垃圾收集机制使用了名为标志和清扫(Mark-and-Sweep)的方式。---------------------------------------------------------------------基础的Mark-and-Sweep算法是最古老的解决循环引用情况垃
2012-02-20 18:52:16
926
原创 程序莫名其妙问题
一般时下面几种,y1、变量没初始化(这种错误我犯得最多)。造成用工具启动和直接启动程序执行结果不同。或者不同系统下程序表现不一致。2、内存越界。比如用下标访问数组超界。指针指向错误。
2012-02-20 18:52:02
356
原创 人人授权跳转问题
用的javascript client,搞了一下午,总在授权后从人人页面跳到我自己的应用地址,今天才查出来callback里原来写成了top.location.href=http://127.0.0.1:8080/renren,把top去掉问题就解决了。XN_RequireFeatures(["Connect"], function(){XN.Main.init("api_key"
2012-02-20 18:51:51
603
转载 认知失调
认知失调:对自己已经做过的事情去找理由,使做这件事情成为对的。如公交上遇到小偷却没有任何动作,这时就会有三种反应来消除失调:改变认知,如偷窃并无大碍,不需要冒着危险阻止这种行为;改变行为,如下一次遇到这种情况时充当正义使者;增加新的认知,例如为小偷或受害者描绘一个或令人同情或激起愤怒的故事。所以当你问一个人对以前他做过的事情的看法时,多会有以上反映。
2012-02-20 18:51:41
624
转载 本杰明•富兰克林效应
本杰明•富兰克林效应的现象启示我们,如果你对一个人行善举,那么往往会得到好的结果。当然这绝非是种“果报”理论。在阿伦森等人的书中提到(Elliot Aronson等,2007, p155),本杰明•富兰克林曾表示,通过向一个不喜爱他的议员借书,他们俩最终成为了要好的朋友。认知失调理论的解释为,如果我们去帮助一个不喜欢的人,结果说不定就会喜欢上他—— 当我们给予不喜欢的人帮助时,其实是经历了一种失调
2012-02-20 18:51:27
934
原创 判断3个点是顺时针方向
/*定义:平面上的三点P1(x1,y1),P2(x2,y2),P3(x3,y3)的面积量: |x1 x2 x3|S(P1,P2,P3) = |y1 y2 y3| = (x1-x3)*(y2-y3) - (y1-y3)*(x2-x3) |1 1 1|当P1P2P3逆时针时S为正的,当P1P2P3顺时针时S为负的。*/-(BOOL
2012-02-20 18:51:09
807
转载 转 集思广益
经验说:开会有助于沟通和理解。实验说:开会的作用不在于促进沟通和理解,而是让大家更坚定原有信念。“我们开会讨论一下这个重要的问题吧。”这句话你一定不陌生。当我们需要做出一些重要决策时,都会深信集思广益、沟通交流的道理,继而通过各种大大小小的会议来讨论问题,以避免个人的主观、武断。但是,三个臭皮匠真的能赛过诸葛亮吗?相信曾经有人经历过,开会讨论出来的结论甚至不如自己想
2012-02-20 18:50:45
613
原创 opengl es贴图不显示
搞了半天终于发现是对没有mipmap的贴图使用了需要mipmap参数的问题。glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR );
2012-02-20 18:50:34
893
原创 多平台加载动态链接库总结
多平台加载动态链接库总结1、Linux, SunOS, Solaris, IRIX, FreeBSD,NetBSD, AIX 4.2, HPUX 11,和其它类Unix系统头文件:#include 加载:void *dlopen(const char *filename, int flag); 示例:void* hnd = dlopen(path,RTL
2012-02-20 18:50:21
752
原创 多平台遍历目录和子目录中指定类型文件,并对每个文件执行命令
1、windows.bat@SETLOCAL ENABLEEXTENSIONS@setlocal ENABLEDELAYEDEXPANSION@echo off@set SCRIPT_PATH=.\scriptfor /R %SCRIPT_PATH% %%c in (*.lua) do (@set LUA_NAME=%%c@set LBC_NAME=
2012-02-20 18:50:06
463
原创 valgrind使用心得
valgrind下面包含多个工具:memcheck可以检查:1、使用未初始化内存 2、使用已释放内存 3、访问内存越界 4、申请空间是否释放 5、申请释放内存的匹配 6、memcpy的源和目的是同一个指针callgrind收集运行数据,函数调用关系等信息cachegrind模拟
2012-02-20 18:49:45
427
原创 解决render monkey有些例子显示黑屏
下载nvidia的工具http://developer.download.nvidia.com/opengl/2011-01/nvemulate.exe把GLSL Compiler Device Support设成:NV40(GeForce 6000 Series,Quadro FX 4000)点apply然后重启render monkey还不行的话可以再试试别的compile
2012-02-20 18:48:05
1969
原创 总结一下函数开始分配资源怎么在多条件返回时释放资源
利用break跳出循环的特性void dofunction(){ Object* a = new Object(); do { if(mA==1) { break;//本来这里要写 delete a;return;如果多个if就要重复写多个delete a; }
2012-02-20 18:33:38
469
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人