
lua
文章平均质量分 63
yuan2053
gameMaker
展开
-
Lua(4) ——数学库math
【转载】 http://www.cnblogs.com/whiteyun/archive/2009/08/10/1543040.html 基于Lua 5.1。圆周率 math.pi 为圆周率常量 = 3.14159265358979323846基本函数三角函数弧度与角度转换随机转载 2017-03-08 11:09:26 · 305 阅读 · 0 评论 -
Cocostudio(1) 容器层的使用- ScrollView ListView PageView
转:http://www.cocos2d-x.org/docs/manual/framework/native/gui/container/zhGUI容器层的使用-UIScrollView 滚动视图除了布局容器,我们常用的还有滚动层容器,它可以扩大我们的显示控件,当内容元素很多时,尤为有用。可以设置为两个方向,横向或者是竖向。 UIScrollView* scroll原创 2017-06-02 16:29:06 · 1537 阅读 · 0 评论 -
Lua中string.format转义符的使用
虽然lua中字符串拼接“string.format”相对于“..”消耗较大,但有时为了代码的可读性,项目中还是经常用到“string.format”。至于这两个用法的性能看源码也很容易看出来,这里就简单说一下,前者其实调用C函数str_format来实现拼接的,而后者只是一个操作符,通过memcpy来拼接,并且多个“..”的操作其实也只执行了一次concat。常用转义符:%c -转载 2017-06-20 17:40:26 · 1361 阅读 · 0 评论 -
Lua栈
一、Lua栈1. 什么是lua栈lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的: TValue stack[max_stack_len] // 欲知内情可以查 lstate.c 的stack_init函数存入栈的数据类型包括数值, 字符串, 指针, talbe, 闭包等, 下面是一个栈的例子:转载 2017-11-17 10:42:06 · 428 阅读 · 0 评论 -
Lua在vs2013的配置环境以及C++如何调用lua
最近一段时间都在学习lua脚本,lua的强大不多说了,自己百度去。自己在网上也找了好多关于lua的资料,有几个不错的博客,想学习的朋友可以去了解以下。http://www.jellythink.com/archives/category/language/lua当然自己也是按照上面的例子一一去验证,我是在linux平台上运行的,所有比较容易操作,而且lua的配置环境也很好弄。不过在wi转载 2017-11-06 14:05:22 · 438 阅读 · 0 评论 -
Lua和C++交互详细总结
一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的:转载 2017-11-06 15:07:56 · 231 阅读 · 0 评论 -
如何用BabeLua运行Lua代码
一:BabeLua简单介绍 BabeLua是一款基于微软VisualStudio系列产品的免费开源的Lua集成开发环境,可以用来Lua语言的编译与调试。二:如何用BabeLua成功运行Lua代码1.首先你得安装好VisualStudio,我使用的是VS2015+Windows10系统环境,当然你也可以使用VS2012或者2013。2.接下来下载Ba转载 2017-12-08 17:10:10 · 519 阅读 · 0 评论 -
lua调C++
跟着本文, 大家只需要简单的4个步骤就能build出自己的C/CPP语言DLL库供Lua require随意调用.需要准备的软件Visual Studio 2015/2017Lua5.1 source code (click to download)step1: 建DLL工程使用VisualStudio2017, 新建一个Win32 Console Application1转载 2017-12-04 18:31:13 · 302 阅读 · 0 评论 -
Sublime Text3 配置Lua运行环境
Sublime Text3 配置Lua运行环境原创 2016年08月24日 11:34:22标签:lua/程序员/编辑器/sublime前言为什么要在Sublime Text3中配置Lua的运行环境,使用它编辑完然后用lua解释器运行不是一样吗?究其原因就是一个字——懒,作为以“懒”著称的程序员绝不允许在这个编辑器下编辑完代码,要转载 2018-01-24 22:59:50 · 770 阅读 · 0 评论 -
Sublime Text 3 快捷键汇总
Sublime Text 3非常实用,但是想要用好,一些快捷键不可或缺,所以转了这个快捷键汇总。用惯了vim,有些快捷键也懒得用了,尤其是在win下面,还有图形界面,所以个人觉得最有用的还是搜索类,对于阅读和修改代码来说,非常实用。选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。Alt+F3 选中文本按下快捷键,即可一次性选择全转载 2018-01-25 14:16:28 · 146 阅读 · 0 评论 -
【Cocos2dx-lua 3.11.1】场景切换
创建一个cocos2dx-lua项目:cocos new myGame -p com.myGame.myCompany -l lua -d d:\project;发现项目中已经有了MainScene.lua,而进入场景的方式在默认项目中采用self:getApp():enterScene("Ma...转载 2018-02-10 10:43:30 · 734 阅读 · 0 评论 -
cocos2d-x 3.x BabeLua 插件不能断点调试
cocos2d-x 3.x版本, exe 是执行文件 src是脚本文件夹 res是资源文件夹lua脚本在src里面,但是BabeLua设置的脚本路径没有生效,导致找不到脚本后来在 AppDelegate.cpp里面把src加到搜索路径下,就可以调试得到了LuaStack* stack = engine->getLuaStack(); stack->addSe转载 2018-02-06 10:05:42 · 1047 阅读 · 0 评论 -
Cocos2d-lua 初识shader之四:描边
原理:对于所有透明的像素点,遍历该像素点周围的所有像素点,当有任意一个像素点非透明时,就将该像素点置为描边颜色。PS.在网上读到一位前辈写的方法是“遍历所有不透明的像素点四周,当有透明像素点时,将该像素点设置为描边颜色”(思路相反),这样的做法会有些缺憾,结尾会放出比较图。[objc] view plain copy local vert = [[ a转载 2018-02-06 19:18:55 · 591 阅读 · 0 评论 -
Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)
Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)转载 2015年11月17日 22:27:42标签:C++/cocos2d-x/opengl/VBO/VAO在上篇文章中,我给大家介绍了如何在cocos2d-x里面绘制一个三角形,当时我们使用的是cocos2d-x引擎自带的shader和一些辅转载 2018-02-06 19:31:38 · 316 阅读 · 0 评论 -
[常见错误 及 解决方案系列]USE " cc.exports.* = value " INSTEAD OF SET GLOBAL VARIABLE"
Cocos2d-x 3.5的lua项目生成后,变成了MVC模式,并且,加入了一个全局变量的检测功能。也就是说,你不小心用了全局变量,他会提示你出错!比如 local temp = 1temp = 10print(temp) 你写成了 local temp = 1tepm = 10 --这里写错了print(temp)然后,print结果就会不同,同时你还会创建一个 全局的 tepm 永...转载 2018-02-25 16:59:51 · 660 阅读 · 0 评论 -
cocos2d-x 3.5以后版本的 luasocket
cocos2d-x 3.5后使用luasocket:local SOCKET = require "socket";结果运行就报错:[LUA-print] USE " cc.exports.socket = value " INSTEAD OF SET GLOBAL VARIABLElua禁用全局变量解决办法:在require "cocos.init"之前引入require "socket"; 即...转载 2018-02-25 17:01:20 · 1025 阅读 · 0 评论 -
cocos2dx lua http请求获取网络数据:
cocos2dx lua http请求获取网络数据:[plain] view plain copy print?local xhr = cc.XMLHttpRequest:new() --创建一个请求 xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING --设置返回数据格式为字符串 local转载 2017-06-06 16:24:52 · 2602 阅读 · 0 评论 -
Bit Functions
魔兽世界包含了Lua BitLib库(他们都是以 "bit."开头). 与C的位运算相同.位运算库并非Lua标准函数库的一部分, 但是在WoW 1.9中得到了应用bit.bnot(a) - 返回一个a的补充bit.band(w1,...) - 返回w的位与bit.bor(w1,...) - 返回w的位或bit.bxor(w1,...) - 返回w的位异或bit.lshift(a转载 2017-05-09 18:59:02 · 422 阅读 · 0 评论 -
Lua(3) ——字符串库string
【转载】 http://blog.sina.com.cn/s/blog_6d9d6d160101975u.html 基于Lua 5.1。【基本函数】string.len(字符串) 功能: 计算字符串长度 举例: string.len("abcd")转载 2017-03-08 11:08:19 · 391 阅读 · 0 评论 -
Lua(2) ——Cocos之_语法糖class
【唠叨】 在使用Lua的时候,cocos2d-x为我们提供了一个 class(classname, super) 这个函数。 它可以让我们很方便的定义一个类,或者继承cocos2d-x的某个类。 PS:class()是cocos2d-x为我们封装的函数,本身Lua没有这个函数。 基于Lua 5.1。【Demo下载】 https:转载 2017-03-08 11:04:05 · 449 阅读 · 0 评论 -
Lua(1) ——基础语法
唠叨】 首先,我已经默认你已经学过至少一门宿主语言了(C++、Java等),然后转向学习Lua。 因为51cto中对于Lua语言没有代码高亮,为了让代码看起来丰富多彩,我只好用截图了。 本节内容仅介绍Lua的简单基础语法,更多用法请百度:Lua中文教程 、 Lua参考手册 。 基于Lua 5.1。【学习感慨】 > 语句末转载 2017-03-08 11:01:00 · 510 阅读 · 0 评论 -
Cocos2d-x Lua:Lua回调函数小结
本文就针对所用到的回调函数做一个总结。1、菜单按钮的回调这二者的回调是这么实现的,新建一个菜单或者是按钮,为了点击菜单或者按钮以后实现程序的逻辑,我们需要为菜单和按钮来绑定一个回调函数,于是乎,我们有了以下的代码:--定义菜单项的回调函数 local function item1_callback() --切换场景 local gameScene转载 2017-03-30 22:20:35 · 4552 阅读 · 0 评论 -
lua学习笔记15:table数组逆序
数组的逆序,只能用于数组,不能用于哈希表function reverseTable(tab) local tmp = {} for i = 1, #tab do local key = #tab tmp[i] = table.remove(tab) end return tmp end // 示例转载 2017-04-28 15:12:44 · 4133 阅读 · 0 评论 -
LUA string库详解
1. string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,...2. string库中所有的function都不会直接操作字符串,而是返回一个结果 string.byte(string [,pos]):返回第pos个字符的整数表示形式.如a为97.string.char(i1,i2...):i1,i2为整型,将i1,i2..等转化为对应的字符然后连接成字符转载 2017-05-02 10:33:43 · 358 阅读 · 0 评论 -
cocos2d-x lua 使用自定义消息EventCustom
1.发送消息-- post message-- event将会被传递给消息接收函数,所以所有需要传递的数据都可放到event中local event = cc.EventCustom:new("MSG_TEST")event._usedata = {["state"]=self.curState, ["actionId"]=self.actionId}cc.Director:getIn转载 2017-04-28 13:52:59 · 1076 阅读 · 0 评论 -
Lua的pcall函数
很多应用中,不需要在Lua进行错误处理,一般有应用来完成。通常应用要求Lua运行一段chunk,如果发生异常,应用根据Lua返回的错误代码进行处理。在控制台模式下的Lua解释器如果遇到异常,打印出错误然后继续显示提示符等待下一个命令。如果在Lua中需要处理错误,需要使用pcall函数封装你的代码。假定你想运行一段Lua代码,这段代码运行过程中可以捕捉所有的异常和错误。第一步:将这段代码转载 2017-04-28 13:49:58 · 3265 阅读 · 0 评论 -
lua math库
函数名描述示例结果pi圆周率math.pi3.1415926535898abs取绝对值math.abs(-2012)2012ceil向上取整math.ceil(9.1)10floor向下取整math.floor(9.9)转载 2017-04-26 11:14:02 · 322 阅读 · 0 评论 -
cocos2dx lua 输入框用法(EditBox)
1、创建输入框self.selectCount= ccui.EditBox:create(cc.size(100,30), "") --输入框尺寸,背景图片self.selectCount:setPosition(cc.p(tf:getPositionX(), tf:getPositionY()))self.selectCount:anch(cc.p(0.5,0.5))self转载 2017-04-26 14:28:55 · 5703 阅读 · 0 评论 -
使用Lua CJSON库进行encode与decode操作完成对Json数据转化
本篇介绍如何在lua中对数据进行json的encode与decode,这里Himi采用cjson进行。首先简单介绍下cjson:Lua CJSON 是 Lua 语言提供高性能的 JSON 解析器和编码器,其性能比纯 Lua 库要高 10 到 20 倍。Lua CJSON 完全支持 UTF-8 ,无需依赖其他非 Lua/LuaJIT 的相关包。文档链接: http://www.ky转载 2017-04-26 17:46:51 · 3234 阅读 · 0 评论 -
Lua生成比较理想的随机数的方法
lua需要生成随机数的需求也是很常见的,为了生成看起来更随机的数字,我们需要注意以下几点我们也需要给随机数设置随机数种子:math.randomseed(xx)lua对随机数种子也是有一定要求的:不能太相近lua中的os.time()是基于秒的,不太满足lua对随机数种子的要求(如果设置随机数种子的频率太高的话)那怎么做?把 os.time()返回的数值字串倒过来再取高位7位。 这转载 2017-05-02 14:01:59 · 928 阅读 · 0 评论 -
Lua IO库详解
I/O 库提供了两套不同风格的文件处理接口。 第一种风格使用隐式的文件句柄; 它提供设置默认输入文件及默认输出文件的操作, 所有的输入输出操作都针对这些默认文件。 第二种风格使用显式的文件句柄。当使用隐式文件句柄时, 所有的操作都由表 io 提供。 若使用显式文件句柄, io.open 会返回一个文件句柄,且所有的操作都由该文件句柄的方法来提供。表 io 中也提供了三个 和 C 中含义相同转载 2017-05-03 14:38:33 · 11321 阅读 · 0 评论 -
tolua 一些可以用的函数
tolua提供几个 C++ 与 Lua 进行数据交换的工具函数。~~tolua.type返回一个 C++ 对象的类型描述字符串。local node = display.newNode()print(tolua.type(node)) -- 输出 CCNode~~tolua.cast强制转换对象类型,用途请参考 CC转载 2017-04-26 11:46:03 · 596 阅读 · 0 评论 -
registerScriptHandler 与registerScriptTapHandler 比较
registerScriptHandler 与registerScriptTapHandler 比较一 、调用registerScriptHandler 的对象不同相应的响应函数和调用方式也不相同 1、 对象为layer时调用方式为:local function onNodeEvent(event) -- event 包括exit enter转载 2017-04-26 13:44:44 · 2446 阅读 · 1 评论 -
Cocos2d-x中编辑框CCEditBox的使用
//设置背景图片 //ps:CCScale9Sprite对象,是一种CCSprite对象的变形,它的用法和CCSprite一样,不同点是,CCScale9Sprite对象有个特性就是缩放贴图时可以尽量不失帧。 CCScale9Sprite *pBg = CCScale9Sprite::create("extensions/orange_edit.png"); //创建编辑框 CCEdi转载 2017-04-26 14:52:20 · 1429 阅读 · 0 评论 -
cocos2d-x中ccui.checkbox的使用方法
local checkbox = ccui.CheckBox:create() checkbox:setAnchorPoint(cc.p(0,0)) checkbox:setPosition(cc.p(size.width/2, size.height/2)) checkbox:setSelected(false) checkbox:loadTextures(转载 2017-05-09 16:27:35 · 4496 阅读 · 0 评论