Skip to content

Repository files navigation

Playground OSS

本项目从Fork自Klab的Playground OSS引擎](https://github.com/KLab/PlaygroundOSS)], 在其基础上加入如下功能(所有lua文件位于Tutorial\RoundWar目录下):

  • 为lua添加面向对象特性,即类的概念,具体实现参见classlite.lua。定义一个基类和继承类非常简单,如下面的代码,B表示基类,D1继承于B,自动拥有B的方法和变量,D2继承于D1,拥有B,D的方法和变量

     B = classlite()
    function B:ctor() -- 构造函数
    self.id = 100
    end
    function B:f()
    syslog("B:f")
    syslog("id=" .. self.id)
    end
    D1 = classlite(B)
    function D1:ctor()
    end
    D2 = classlite(D1)
    function D2:ctor()
    end
    local d = D2.new()
    d:f()
    
  • Node类,是Sprite和UINode的基类,拥有*Action方法, 以配合Action系统,具体参见Node.lua

  • UINode类,继承于Node,用于封装UI_, 使其能够拥有Action方法,适用于Action系统,具体参见Node.lua

  • Sprite类,继承于Node,封装了UI_MultiImgItem,可以用于系列帧动画,具体参见Sprite.lua

  • 强大的Action系统,用于制作各种特效,主要分两大类:即时Action和带时长的Action,如移动,缩放,延时,回调函数,动画,顺序系列,并发系列, 缓动系列,具体参见文件Action.lua, ActionInstant.lua, ActionEase.lua, ActionEngine.lua

  • 定义动画格式,以json方式存储,具体例子参见spr_apple.json和spr_hetao.json

  • 工具SplitSprites(Go语言开发,提供两种版本:windows版本和Mac版本)位于Tutorial\Assets目录,可将TexturePacker导出的plist导出为自定义的动画格式和Toboggan所能识别的Texture文件,使用例子:

     SplitSprites -i=apple.plist -c=true -e=true
    其中:-i后面跟输入文件(plist文件)或目录
    -c=true指示导出的图片文件是去掉透明边框部分的
    -e=true表示导出自定义的动画格式和Toboggan所能识别的Texture文件
    
  • 所有代码都位于Tutorial\RoundWar目录, 该目录提供了一个回合战的游戏,功能比较简单,用于演示上面的Action系统,核心文件为BattleField.lua(战场模块)和Soldier.lua(战斗单元,里面用到大量的Action)

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages