-
Notifications
You must be signed in to change notification settings - Fork 17
核心API变化
Xrysnow edited this page Dec 18, 2020
·
1 revision
大多数接口与LuaSTGPlus相同。提供接口文档,适用于IDE的文档提示功能,以EmmyLua的格式编写。
- SetFPS,SetVsync可以在运行中使用。
函数 | 状态 |
---|---|
ChangeVideoMode | =>Lua |
DoFile | |
ExtractRes | =>Lua |
GetFPS | |
LoadPack | =>Lua |
SetFPS | |
SetResolution | =>Lua |
SetSplash | =>Lua |
SetTitle | =>Lua |
SetVsync | |
SetWindowed | =>Lua,弃用 |
ShowSplashWindow | 弃用 |
SystemLog | |
UnloadPack | =>Lua |
- PostEffectCapture / PostEffectApply暂时不能使用,请使用CreateRenderTarget / PushRenderTarget / PopRenderTarget代替。由于实现原因,PostEffectCapture / PostEffectApply需要创建临时对象,出于性能考虑,只提供了一个临时对象。
- 增加函数:CreateShaderProgramFromPath, CreateShaderProgramFromString,用于编译 shader并提供错误信息。编译成功时返回cocos::backend::Program对象,否则返回nil并将错误信息写入日志。
函数 | 状态 |
---|---|
BeginScene | |
CreateGLProgramFromPath | 新增 |
CreateGLProgramFromString | 新增 |
EndScene | |
PopRenderTarget | =>Lua |
PostEffect | =>Lua |
PostEffectApply | =>Lua,弃用 |
PostEffectCapture | =>Lua,弃用 |
PushRenderTarget | =>Lua |
RenderClear | |
SetFog | |
SetOrtho | |
SetPerspective | |
SetViewport |
- GetLastChar暂未实现。
- 按键代码与plus不同,见src/keycode.lua。不影响使用。
- 增加一系列手柄功能相关的函数。其使用已由其他lua代码完成。
- 手柄按键不再映射到固定按键代码,而是直接影响GetKeyState和GetLastKey的返回值。
函数 | 状态 |
---|---|
GetKeyState | |
GetLastChar | 暂未实现 |
GetLastKey | |
GetMousePosition | |
GetMouseState |
- 增加RegisterClass函数。其使用已由其他lua代码完成。
- 增加GetLastXY, SetLastXY, UpdateParticle, FreeObject, Clone, RawNew函数,用于提供对ex+0.80d的部分兼容。
- CollisionCheck函数可以接受游戏对象作为参数。
- 增加CollisionCheck3D函数。
- Del和Kill函数可以接受碰撞组或游戏对象数组作为参数。
- 增加函数BindNode,用于将cocos::Node对象绑定到游戏对象。
- 增加RenderSector函数,用于boss血条渲染。
- 增加DrawCollider函数,用于绘制碰撞盒。此功能主要逻辑由lua代码控制,见src/core/corefunc.lua。
函数 | 状态 |
---|---|
DrawGroupCollider | 新增 |
Render | =>Lua |
Render4V | =>Lua |
RenderRect | =>Lua |
RenderSector | 新增 |
RenderTexture |
- LoadFont仅支持HGE的纹理字体。由于cocos只支持BMFont格式,加载是通过内部转换实现的,转换存在一定限制。后续会提供加载BMFont格式的功能。
- LoadTTF参数由name, path, width, height改为name, path, size。
- LoadFX只能加载用GLSL编写的shader,支持像素着色器和顶点着色器,详见doc/lstg/resource.lua。内置的boss扭曲效果已经重写。DX与OGL的坐标系不同,不再需要翻转y轴,编写shader时请注意。
- 增加函数GetImageScale,弃用函数IsRenderTarget。
- 资源控制函数全部交由lua实现。
- 由于实现原因,以流方式播放的声音更改播放位置时存在少量延迟,获取播放位置的精度受到限制。
- 声音控制函数全部交由lua实现。
- 文本渲染函数全部交由lua实现。
- 增加CalcTextSize函数,用于计算文字渲染后的尺寸,详见src/core/respool.lua。
- Execute函数已删除,请使用Lua提供的os.execute。
- json/cjson模块由C实现改为cocos提供的Lua实现。
- 不推荐使用lfs模块,请改用plus或cocos提供的接口。
- 颜色对象可以通过a, r, g, b属性直接获取和设置各分量的值