的笔记
随时随地编辑
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2013年10月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
统计
随笔 - 103
文章 - 0
评论 - 34
引用 - 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(10)
给我留言
查看公开留言
查看私人留言
随笔分类
(11)
C++(11)
(rss)
Git
(rss)
随笔档案
(103)
2020年2月 (2)
2019年2月 (1)
2018年12月 (2)
2018年7月 (1)
2018年6月 (1)
2018年2月 (2)
2017年6月 (4)
2017年5月 (4)
2017年4月 (1)
2017年3月 (2)
2017年1月 (5)
2016年12月 (2)
2015年12月 (1)
2015年8月 (1)
2015年7月 (1)
2014年7月 (2)
2014年5月 (1)
2014年2月 (1)
2013年9月 (1)
2013年8月 (2)
2013年5月 (1)
2013年4月 (1)
2013年3月 (1)
2012年8月 (1)
2012年7月 (1)
2012年4月 (1)
2012年2月 (3)
2012年1月 (5)
2011年12月 (6)
2011年7月 (13)
2011年6月 (15)
2011年5月 (5)
2011年4月 (9)
2011年3月 (4)
相册
Animation
Blender架构
BLOG_PHOTO
Blueprints
cegui
Character
DirectX
GameDesign
GameplayAbility
SortingAlgorithms
BLOG
飞猪哥哥(?)
林公子
與食人魔獸之間的恩怨情仇
玉清哥哥(?)
搜索
最新评论
1. re: Ogre骨骼动画分析[未登录]
内容看的有些懂了,不过作者很有意思
--albert
2. re: LUA源码分析上[未登录]
忘了回你代码格式用的VC自带的@zr
--me
3. re: LUA源码分析上
@zr 有的是doxygen生成的,有的是understand生成的,再有的是PS的
--夸父的笔记
4. re: 晒晒预处理Ogre宏[未登录]
有意思吗?楼猪
--aa
5. re: LUA源码分析上
请问文件中代码调用图你是用什么软件生成的?
ps:文中代码风格看着很舒服,能不能也透漏下是哪种软件的style?
--zr
6. re: 遇到唐雨柔,Sandbox崩溃
嘿嘿,还好,不是遇上夏雨荷
--渣浆泵
7. re: Ogre骨骼动画分析
扔下太久了,看着好累
--渣浆泵
8. re: CEGUI笔记
我创建render和system时老是失败?求解释啊
--song
9. re: LUA源码分析上[未登录]
自己整理的啊。。谢谢分享
--shongbee2
10. re: Ogre TerrainGroup地形赏析
楼主很认真啊。 我反正是写不出这么细致的BLOG。
--Render Donkey
阅读排行榜
1. BLENDER架构(10062)
2. CEGUI笔记(5924)
3. Ogre TerrainGroup地形赏析(5481)
4. Unreal Engine 4 开发记录(5269)
5. LUA源码分析上(5065)
6. Ogre骨骼动画分析(4754)
7. 武侠二源码分析(4605)
8. lua编译笔记(4556)
9. UE4扯淡大杂烩第一季(3294)
10. UE4小笔记(3290)
评论排行榜
1. LUA源码分析上(7)
2. CEGUI笔记(4)
3. Ogre嵌入qt笔记(4)
4. main 函数反汇编之函数创建和恢复现场(3)
5. Ogre骨骼动画分析(3)
6. Ogre TerrainGroup地形赏析(3)
7. 你说我说他说大家一起玩点好玩的游戏(2)
8. 图形学基础的一点好书(1)
9. OpenGL ES 3.0,代号哈爾蒂亞(1)
10. C++继承类中构造函数与析构函数的容易误解的地方(1)
luaplus note
load script
LuaStateOwner state;
int
iret
=
state
->
DoFile(
"
test.lua
"
);
call lua
--
lua
function Add(x, y)
return
x
+
y;
end
void
calllua()
{
LuaStateOwner state;
int
iret
=
state
->
DoFile(
"
test.lua
"
);
LuaObject sObj
=
state
->
GetGlobal(
"
health
"
);
int
mytest
=
sObj.GetInteger();
sObj.AssignInteger(state,
30
);
mytest
=
sObj.GetInteger();
//
调用Lua函数
LuaFunction
<
int
>
luaPrint
=
state
->
GetGlobal(
"
print
"
);
luaPrint(
"
Hello World\n
"
);
LuaFunction
<
float
>
Add
=
state
->
GetGlobal(
"
Add
"
);
float
myret
=
Add(
3.14f
,
5.25f
);
}
lua call c++
--
test.lua
PrintNumber(
30
,
50
);
//
! C++
int
LS_PrintNumber(LuaState
*
state)
{
LuaStack args(state);
if
(args[
1
].IsNumber())
{
printf(
"
%f %f\n
"
, args[
1
].GetNumber() , args[
2
].GetNumber() );
}
return
0
;
}
void
callcplus()
{
//
创建状态
LuaStateOwner state;
//
注册c++函数后就可以在lua中调用了
state
->
GetGlobals().Register(
"
PrintNumber
"
, LS_PrintNumber);
//
打开测试文件
int
iret
=
state
->
DoFile(
"
test.lua
"
);
}
lua call c++ class member fun
--
test.lua
mulresult
=
Mul(
5
,
6
)
print(mulresult )
//
C++
//
--------------------------------------------
class
TestObject
{
public
:
TestObject(
float
startNumber) :
m_startNumber(startNumber)
{
}
int
LS_Mul(LuaState
*
state)
{
LuaStack args(state);
assert(args[
1
].IsNumber());
assert(args[
2
].IsNumber());
lua_Number value
=
m_startNumber
+
args[
1
].GetNumber()
*
args[
2
].GetNumber();
state
->
PushNumber(value);
return
1
;
}
protected
:
float
m_startNumber;
}
;
void
luacallcplusfun()
{
LuaStateOwner state;
TestObject obj(
5
);
state
->
GetGlobals().Register(
"
Mul
"
, obj,
&
TestObject::LS_Mul);
LuaFunction
<
float
>
mulFunction
=
state
->
GetGlobals()[
"
Mul
"
];
float
fresult
=
mulFunction(
5
,
10
);
int
iret
=
state
->
DoFile(
"
test.lua
"
);
}
posted on 2011-07-02 17:19
的笔记
阅读(207)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © 的笔记