- 博客(28)
- 资源 (4)
- 收藏
- 关注
转载 quick Lua 在Lua中使用gettext实现多语言支持
在Lua中使用gettext实现多语言支持Using gettext in lua2016-06-07更新:加入gettext包含的工具简介。GNU gettext 是一套优秀的国际化工具。在 linux 中被大量采用。wordpress 也使用 gettext 实现多语言支持。本文介绍如何在 quick-cocos2d-x 中使用 gettext 做多语言
2015-05-22 11:27:05 695
转载 Quick-Cocos2d-x 如何入门
.player走起安装好Quick之后,我们先来开启player跑跑看,初窥一下Quick,也正好验证一下环境变量的配置是否争取了。上面已经提到了安装完成后player所在的位置,毫不犹豫的点击运行,如果一切顺利,player就顺利启动了,点击示例标签你会看到如下界面:这里包含了Quick提供的一些示例项目,单击某个示例将会启动一个新的player打开所选示例。你会
2015-05-15 11:08:13 3686
转载 C++11 lambda
lambda讲完了function和bind, 下面我们来看lambda。有python基础的朋友,相信对于lambda不会陌生。看到这里的朋友,请再回忆一下前面讲的closure的概念,lambda就是用来实现closure的东东。它的最大用途也是在回调函数,它和前面讲的function和bind有着千丝万缕的关系。下面我们先通过例子来看看lambda的庐山真面目:
2015-05-04 18:05:27 455
转载 c++11中的bind和function
这次要讲的是:c++11中的bind和functionstd::function它是函数、函数对象、函数指针、和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针。以统一的方式处理函数、函数对象、函数指针、和成员函数。允许保存和延迟执行函数。函数和成员函数作为functionvoid G();struct A{void H()
2015-05-04 17:48:51 3141
转载 编写高性能的Lua代码
前言Lua是一门以其性能著称的脚本语言,被广泛应用在很多方面,尤其是游戏。像《魔兽世界》的插件,手机游戏《大掌门》《神曲》《迷失之地》等都是用Lua来写的逻辑。所以大部分时候我们不需要去考虑性能问题。Knuth有句名言:“过早优化是万恶之源”。其意思就是过早优化是不必要的,会浪费大量时间,而且容易导致代码混乱。所以一个好的程序员在考虑优化性能前必须问自己两个问题:“我的程序
2015-04-28 14:13:28 430
转载 Lua 作为配置文件(2)
lua 语言非常灵活,一般把lua 作为脚本文件,会用C++与之进行交互。最重要的是C++代码能读取到脚本中的变量、一维表、二维表。这样有些参数就可以在lua文件进行更改,而不用重新更改C++代码、又得重新编译、运行。lua 文件 (test.lua )中的内容如下[plain] view plaincopy-- ship inclu
2015-04-28 13:41:40 636
转载 lua学习:lua作配置文件
Lua的一项重要用途就是作为一种配置语言(configuration language)。目前,我们常用的配置文件格式有XML和ini, XML层次分明,但其缺点就是写起来太繁杂,对一些关键字如键-值模式,对于一些多层结构的配置,或者一些列表类型的配置,就显得力不从心了,往往需要编码人员自己分割字符串。Lua脚本非常简洁清晰,是非常适合做配置文件的,无论是映射表型配置,还
2015-04-28 10:47:41 462
转载 Lua中的weak表——weak table
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的。弱表的定义是:A weak table is a table whose elements are weak references,元素为弱引用的表就叫弱表。有弱引用那么也就有强引用,有引用那么也就有非引用。我们先要厘这些基本概念:变量、值、类型、对象。 (1)变量与值:Lua是一个dynamically
2015-04-25 15:30:26 535
原创 Lua 对象
0.lua的类(1)lua的类实际上就是lua的 table ,类之间的继承实际上就是吧 table 连到一起了,调用方法和属性, 就是先去第一个table搜索如果没有再去连在后面的table里搜索。(2)lua里的self实际上就是table了,也能代表类名(3)lua继承local self = {}setmetatable(self
2015-04-24 22:30:55 1257
转载 Lua中的模块与module函数详解
这篇文章主要介绍了Lua中的模块与module函数详解,本文讲解了编写一个简单的模块、避免修改模块名的方法、模块名参数等内容,需要的朋友可以参考下,,很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块。1.编写一个简单的模块Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一些变量、一些函数…等等,这不就是我们
2015-04-22 23:09:28 477
原创 Lua 编译
1.dofile loadfile Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块。但实际上dofile只是一个辅助函数,loadfile才是真正的核心函数。相比于dofile,loadfile只是从指定的文件中加载Lua代码块,然后编译这段代码块,如果有编译错误,就返回nil,同时给出错误信息,但是在编译成功后并不真正的执行这段代码块。因此,我们可以将dofil
2015-04-22 14:52:56 597
原创 mac电脑 coocs2dx 3.x 环境配置, 创建新工程
Mac os 下 cocos2dx-3.2+Xcode6.1的环境配置,这里我使用的是Xcode 6.1。1、首先解压cocos2dx-3.2,把它放到你容易找到的地方。然后打开命令行 cd 的cocos2dx-3.2 文件根目录下2、命令行输入./setup.py回车并且可以配置eclipse的一些环境变量, 如果用不到eclipse,可以先跳过
2015-04-17 14:37:41 798
转载 Lua查找表元素过程(元表、__index方法是如何工作的)
Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制,才能够实现“面向对象”的。举例说明:[plain] view plaincopyprint?tempTable = {} print(tempTable.me
2015-04-14 20:32:45 357
原创 安卓和ios App 标示机器的方式(mac地址 ,idfa)
安卓机器上获取mac地址的方式:public static String getMacAddress() { WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo();
2015-04-08 18:02:38 5298
原创 Posix多线程笔记(七)----- 线程数据共享的方式
为了防止数据共享 带来的问题,常使用如下方法组合来解决问题1.互斥锁 + 条件变量2.互斥锁 + 信号量 互斥锁用于锁定用户共享数据, 条件变量 或者信号量 可以当做是 线程间通信的方式。(一个线程激活另外一个休眠的线程)。
2015-04-08 17:40:47 338
转载 Posix多线程笔记(六)-----信号量
信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。当公共资源增加时,调用函数sem_post()增加信号量。只有当信号量值大于0时,才能使用公共资源,使用后,函数sem_wait()减少信号量。函数sem_trywait()和函数pthread_ mutex_trylock()起同样的作用,它是函数sem_wait()的非阻塞版本。下面我们逐个介绍和信号量有关的一些函数,它们都在头
2015-04-08 17:28:35 538
转载 Posix多线程笔记(五)-----条件变量
前一节中我们讲述了如何使用互斥锁来实现线程间数据的共享和通信,互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线
2015-04-08 17:28:14 328
转载 Posix多线程笔记(四)-----互斥锁
互斥锁用来保证一段时间内只有一个线程在执行一段代码。必要性显而易见:假设各个线程向同一个文件顺序写入数据,最后得到的结果一定是灾难性的。 我们先看下面一段代码。这是一个读/写程序,它们公用一个缓冲区,并且我们假定一个缓冲区只能保存一条信息。即缓冲区只有两个状态:有信息或没有信息。void reader_function ( void );void writer_function
2015-04-08 17:26:17 398
原创 关于signal(SIGPIPE,SIG_IGN);
当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据 时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出), 所以client会退出。若不想客户端退出可以把 SIGPIPE设为SIG_IGN
2015-04-08 16:56:03 680
转载 Posix多线程笔记(三)—线程属性(3)
六、线程的作用域 函数pthread_attr_setscope和pthread_attr_getscope分别用来设置和得到线程的作用域,这两个函数的定义如下: 7.名称::pthread_attr_setscopepthread_attr_getscope功能:
2015-04-08 16:55:13 374
转载 Posix多线程笔记(三)—线程属性(2)
四、线程的调度策略 函数pthread_attr_setschedpolicy和pthread_attr_getschedpolicy分别用来设置和得到线程的调度策略。 4.名称::pthread_attr_getschedpolicypthread_attr_setschedpolicy功
2015-04-08 16:52:04 316
转载 Posix多线程笔记(三)—线程属性(1)
一.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。 1.名称::pthread_attr_init/pthread_attr_destro
2015-04-08 16:22:35 261
转载 poSix多线程笔记二-----基础
一.什么是线程 在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。 典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各只独立的任务。 二.线程的优点(1) 通过为每种事
2015-04-08 16:13:13 363
原创 Posix多线程笔记(一)— — — (线程和进程的比较)
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些
2015-04-08 15:53:57 501
原创 Socket setsockopt设置状态
setsockopt设置socket状态1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(constchar*)&bReuseaddr,sizeof(BOOL));2.如果要已经处于连接状态的soket在调
2015-03-18 20:48:33 512
原创 Socket 学习总结
接下来要总结的是TCP socket通信 socket 分为阻塞式和非阻塞式的, 下面一个个介绍。 socket默认是阻塞式的, 你需要手动设置 非阻塞属性,才能达到非阻塞。 windows 下面 使用如下函数设置非阻塞ioctlsocket(SockClient,FIONBIO,&flag) // flag == 0代表阻塞 flag == 1代表的是非阻塞
2015-03-18 20:37:48 1014
转载 在cocos2dx 中添加自定义 shaders --- 改变 HSL 色调,饱和度, 亮度
订阅步骤1准备 shaders文件- ccShad_Hsl.h/* * cocos2d for iPhone: http://www.cocos2d-iphone.org * * Copyright (c) 2011 Brian Chapados * * Permission is hereby granted, free of charge
2015-03-06 17:07:28 2039 4
原创 Cocos2dx CCSprite CCSpriteFrame CCTexture2D CCAnimation学习总结
1. CCTexture2D CCSpriteFrame CCSprite 三者之间的关系CCTexture2D 是贴图纹理, 是缓存到GPU中的图片数据。CCSpriteFrame 是相对于动画来说的概念,代表动画中“帧”,CCSpriteFrame 是贴图纹理CCTexture2D中某块区域,或者这个贴图纹理。CCTexture2D 和 CCSprite
2015-03-05 17:06:28 928 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人