_System

主要功能包括系统相关的设置,文件与目录的相关操作,加密,获取光标位置,剪切板的相关操作,资源缓存的设置等。 全部展开

单例展开

  • + _sys : _System

    程序开始时自动创建。脚本中应该使用此对象。

静态属性展开

  • + ChinaMobile : uint

    表示移动运营商是中国移动。

    示例

        if _sys.mobileVendor == _System.ChinaMobile then 
    print('中国移动')
    end
  • + ChinaTelecom : uint

    表示移动运营商是中国电信。

    示例

        if _sys.mobileVendor == _System.ChinaTelecom then 
    print('中国电信')
    end
  • + ChinaUnicom : uint

    表示移动运营商是中国联通。

    示例

        if _sys.mobileVendor == _System.ChinaUnicom then 
    print('中国联通')
    end
  • + Key0 : uint

    0键的键值。

    示例

        if _sys:isKeyDown(_System.Key0) then 
    print('0')
  • + Key1 : uint

    1键的键值。

    示例

        if _sys:isKeyDown(_System.Key1) then 
    print('1')
  • + Key2 : uint

    2键的键值。

    示例

        if _sys:isKeyDown(_System.Key2) then 
    print('2')
  • + Key3 : uint

    3键的键值。

    示例

        if _sys:isKeyDown(_System.Key3) then 
    print('3')
  • + Key4 : uint

    4键的键值。

    示例

        if _sys:isKeyDown(_System.Key4) then 
    print('4')
  • + Key5 : uint

    5键的键值。

    示例

        if _sys:isKeyDown(_System.Key5) then 
    print('5')
  • + Key6 : uint

    6键的键值。

    示例

        if _sys:isKeyDown(_System.Key6) then 
    print('6')
  • + Key7 : uint

    7键的键值。

    示例

        if _sys:isKeyDown(_System.Key7) then 
    print('7')
  • + Key8 : uint

    8键的键值。

    示例

        if _sys:isKeyDown(_System.Key8) then 
    print('8')
  • + Key9 : uint

    9键的键值。

    示例

        if _sys:isKeyDown(_System.Key9) then 
    print('9')
  • + KeyA : uint

    A键的键值。

    示例

        if _sys:isKeyDown(_System.KeyA) then 
    print('A')
  • + KeyAlt : uint

    Alt键的键值。

    示例

        if _sys:isKeyDown(_System.KeyAlt) then 
    print('alt')
  • + KeyB : uint

    B键的键值。

    示例

        if _sys:isKeyDown(_System.KeyB) then 
    print('B')
  • + KeyBack : uint

    Back键的键值。

    示例

        if _sys:isKeyDown(_System.KeyBack) then 
    print('back')
  • + KeyC : uint

    C键的键值。

    示例

        if _sys:isKeyDown(_System.KeyC) then 
    print('C')
  • + KeyCapsLock : uint

    CapsLock键的键值。

    示例

        if _sys:isKeyDown(_System.KeyCapsLock) then 
    print('CapsLock')
  • + KeyCtrl : uint

    Ctrl键的键值。

    示例

        if _sys:isKeyDown(_System.KeyCtrl) then 
    print('ctrl')
  • + KeyD : uint

    D键的键值。

    示例

        if _sys:isKeyDown(_System.KeyD) then 
    print('D')
  • + KeyDel : uint

    Del键的键值。

    示例

        if _sys:isKeyDown(_System.KeyDel) then 
    print('del')
  • + KeyDot : uint

    .键的键值。

    示例

        if _sys:isKeyDown(_System.KeyDot) then 
    print('.')
  • + KeyDown : uint

    Down键的键值。

    示例

        if _sys:isKeyDown(_System.KeyDown) then 
    print('down')
  • + KeyE : uint

    E键的键值。

    示例

        if _sys:isKeyDown(_System.KeyE) then 
    print('E')
  • + KeyEnd : uint

    End键的键值。

    示例

        if _sys:isKeyDown(_System.KeyEnd) then 
    print('end')
  • + KeyESC : uint

    ESC键的键值。

    示例

        if _sys:isKeyDown(_System.KeyESC) then 
    print('esc')
  • + KeyF : uint

    F键的键值。

    示例

        if _sys:isKeyDown(_System.KeyF) then 
    print('F')
  • + KeyG : uint

    G键的键值。

    示例

        if _sys:isKeyDown(_System.G) then 
    print('G')
  • + KeyGPA : uint

    手柄A键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPA) then 
    print('_System.KeyGPA')
  • + KeyGPB : uint

    手柄B键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPB) then 
    print('_System.KeyGPB')
  • + KeyGPDpad : uint

    方向键的键值, 用来触发onGamepadDirection。

    示例

        if _sys:isKeyDown(_System.KeyGPDpad) then 
    print('_System.KeyGPDpad')
  • + KeyGPPaused : uint

    手柄中间menu键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPPaused) then 
    print('_System.KeyGPPaused')
  • + KeyGPShoulderL : uint

    手柄L1键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPShoulderL) then 
    print('_System.KeyGPShoulderL')
  • + KeyGPShoulderR : uint

    手柄R1键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPShoulderR) then 
    print('_System.KeyGPShoulderR')
  • + KeyGPThumbL : uint

    左摇杆的键值, 用来触发onGamepadDirection。

    示例

        if _sys:isKeyDown(_System.KeyGPThumbL) then 
    print('_System.KeyGPThumbL')
  • + KeyGPThumbR : uint

    右摇杆的键值, 用来触发onGamepadDirection。

    示例

        if _sys:isKeyDown(_System.KeyGPThumbR) then 
    print('_System.KeyGPThumbR')
  • + KeyGPTriggerL : uint

    手柄L2键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPTriggerL) then 
    print('_System.KeyGPTriggerL')
  • + KeyGPTriggerR : uint

    手柄R2键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPTriggerR) then 
    print('_System.KeyGPTriggerR')
  • + KeyGPX : uint

    手柄X键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPX) then 
    print('_System.KeyGPX')
  • + KeyGPY : uint

    手柄Y键的键值, 用来触发onGamepadButton。

    示例

        if _sys:isKeyDown(_System.KeyGPY) then 
    print('_System.KeyGPY')
  • + KeyH : uint

    H键的键值。

    示例

        if _sys:isKeyDown(_System.KeyH) then 
    print('H')
  • + KeyHome : uint

    Home键的键值。

    示例

        if _sys:isKeyDown(_System.KeyHome) then 
    print('home')
  • + KeyI : uint

    I键的键值。

    示例

        if _sys:isKeyDown(_System.KeyI) then 
    print('I')
  • + KeyJ : uint

    J键的键值。

    示例

        if _sys:isKeyDown(_System.KeyJ) then 
    print('J')
  • + KeyK : uint

    K键的键值。

    示例

        if _sys:isKeyDown(_System.KeyK) then 
    print('K')
  • + KeyL : uint

    L键的键值。

    示例

        if _sys:isKeyDown(_System.KeyL) then 
    print('L')
  • + KeyLeft : uint

    Left键的键值。

    示例

        if _sys:isKeyDown(_System.KeyLeft) then 
    print('left')
  • + KeyM : uint

    M键的键值。

    示例

        if _sys:isKeyDown(_System.KeyM) then 
    print('M')
  • + KeyN : uint

    N键的键值。

    示例

        if _sys:isKeyDown(_System.KeyN) then 
    print('N')
  • + KeyNum0 : uint

    Num0键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum0) then 
    print('Num0')
  • + KeyNum1 : uint

    Num1键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum1) then 
    print('Num1')
  • + KeyNum2 : uint

    Num2键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum2) then 
    print('Num2')
  • + KeyNum3 : uint

    Num3键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum3) then 
    print('Num3')
  • + KeyNum4 : uint

    Num4键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum4) then 
    print('Num4')
  • + KeyNum5 : uint

    Num5键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum5) then 
    print('Num5')
  • + KeyNum6 : uint

    Num6键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum6) then 
    print('Num6')
  • + KeyNum7 : uint

    Num7键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNum7) then 
    print('Num7')
  • + KeyNumLock : uint

    NumLock键的键值。

    示例

        if _sys:isKeyDown(_System.KeyNumLock) then 
    print('NumLock')
  • + KeyO : uint

    O键的键值。

    示例

        if _sys:isKeyDown(_System.KeyO) then 
    print('O')
  • + KeyP : uint

    P键的键值。

    示例

        if _sys:isKeyDown(_System.KeyP) then 
    print('P')
  • + KeyQ : uint

    Q键的键值。

    示例

        if _sys:isKeyDown(_System.KeyQ) then 
    print('Q')
  • + KeyR : uint

    R键的键值。

    示例

        if _sys:isKeyDown(_System.KeyR) then 
    print('R')
  • + KeyReturn : uint

    回车键的键值。

    示例

        if _sys:isKeyDown(_System.KeyReturn) then 
    print('return')
  • + KeyRight : uint

    Right键的键值。

    示例

        if _sys:isKeyDown(_System.KeyRight) then 
    print('right')
  • + KeyS : uint

    S键的键值。

    示例

        if _sys:isKeyDown(_System.KeyS) then 
    print('S')
  • + KeyScrollLock : uint

    ScrollLock键的键值。

    示例

        if _sys:isKeyDown(_System.KeyScrollLock) then 
    print('ScrollLock')
  • + KeyShift : uint

    Shift键的键值。

    示例

        if _sys:isKeyDown(_System.KeyShift) then 
    print('shift')
  • + KeySpace : uint

    Space键的键值。

    示例

        if _sys:isKeyDown(_System.KeySpace) then 
    print('space')
  • + KeyT : uint

    T键的键值。

    示例

        if _sys:isKeyDown(_System.KeyT) then 
    print('T')
  • + KeyTab : uint

    Tab键的键值。

    示例

        if _sys:isKeyDown(_System.KeyTab) then 
    print('tab')
  • + KeyU : uint

    KeyU键的键值。

    示例

        if _sys:isKeyDown(_System.KeyU) then 
    print('U')
  • + KeyUp : uint

    Up键的键值。

    示例

        if _sys:isKeyDown(_System.KeyUp) then 
    print('up')
  • + KeyV : uint

    KeyV键的键值。

    示例

        if _sys:isKeyDown(_System.KeyV) then 
    print('V')
  • + KeyW : uint

    W键的键值。

    示例

        if _sys:isKeyDown(_System.KeyW) then 
    print('W')
  • + KeyX : uint

    X键的键值。

    示例

        if _sys:isKeyDown(_System.KeyX) then 
    print('X')
  • + KeyY : uint

    Y键的键值。

    示例

        if _sys:isKeyDown(_System.KeyY) then 
    print('Y')
  • + KeyZ : uint

    Z键的键值。

    示例

        if _sys:isKeyDown(_System.KeyZ) then 
    print('Z')
  • + MouseLeft : uint

    鼠标左键的键值。

    示例

        if _sys:isKeyDown(_System.MouseLeft) then 
    print('MouseLeft')
  • + MouseMiddle : uint

    鼠标中键的键值。

    示例

        if _sys:isKeyDown(_System.MouseMiddle) then 
    print('MouseMiddle')
  • + MouseRight : uint

    鼠标右键的键值。

    示例

        if _sys:isKeyDown(_System.MouseRight) then 
    print('MouseRight')
  • + NetNone : uint

    表示没有网络。

    示例

        if _sys.networkState == _System.NetNone then 
    print('没有网络')
    end
  • + NetUnknown : uint

    表示未知网络类型。

    示例

        if _sys.networkState == _System.NetUnknown then 
    print('未知网络类型')
    end
  • + NetWlan : uint

    表示wifi网络。

    示例

        if _sys.networkState == _System.NetWlan then 
    print('wifi网络')
    end
  • + NetWwan_2G : uint

    表示2G网络。

    示例

        if _sys.networkState == _System.NetWwan_2G then 
    print('2G网络')
    end
  • + NetWwan_3G : uint

    表示3G网络。

    示例

        if _sys.networkState == _System.NetWwan_3G then 
    print('3G网络')
    end
  • + NetWwan_4G : uint

    表示4G网络。

    示例

        if _sys.networkState == _System.NetWwan_4G then 
    print('4G网络')
    end
  • + UnknownVendor : uint

    表示未知移动运营商。

    示例

        if _sys.mobileVendor == _System.UnknownVendor then 
    print('未知移动运营商')
    end

只读属性展开

  • + adid : string

    google play的adid。

    示例

        print(_sys.adid)
  • + appVersion : string

    FOA的版本信息。

    示例

        print(_sys.appVersion)
  • + availableMemory: int

    可用内存字节数。

    示例

        print(_sys.availableMemory)
  • + batteryLevel : int

    手机当前电池电量,取值范围0-100。

    示例

        print(_sys.batteryLevel)
  • + cpuIDString : string

    机器的CPU名称(目前只有Windows和Android平台可用)。

    示例

        print(_sys.cpuIDString)
  • + currentTime : Object

    返回当前时间.

    返回值

    Object对象。其属性year, month, day,hour,minute,second,msecond分别是年,月,日,时,分,秒,毫秒。

    示例

        local t = _sys.currentTime 
    print(t.year,t.month,t.day,t.hour,t.minute,t.second,t.msecond)
  • + deviceName : string

    移动设备的名称。

    示例

        print(_sys.deviceName)
  • + fps : float

    当前的帧率。

    示例

        print(_sys.fps)
  • + frameDrawCount : int

    当前的DrawCount。

    示例

        print(_sys.frameDrawCount)
  • + frameDrawMiniCount : int

    当前的小模型DrawCount。

    示例

        print(_sys.frameDrawMiniCount)
  • + framePolygonCount :int

    当前场景内的多边形数量。

    示例

        print(_sys.framePolygonCount)
  • + idfa : string

    苹果设备的广告标识.

    示例

           print(_sys.idfa)
  • + idfv : string

    iOS上应用的标识,idfv的值只在相同设备、相同应用供应商(BundleIdentifier)条件下是不变的。 相同供应商(BundleIdentifier)代表BundleIdentifier中最后一个点号之前的字符串都是一样的。

    示例

        print(_sys.idfv)
  • + imei : string

    International Mobile Equipment Identity,移动设备国际身份码的缩写。

    示例

        print(_sys.imei)
  • + localLanguage : string

    移动设备当前系统语言。

    示例

        print(_sys.localLanguage)
  • + macAddress : string

    当前设备的mac地址。

    示例

        print(_sys.macAddress)
  • + machine : string

    设备型号。

    示例

        print(_sys.machine)
  • + memUsage : float

    当前内存占用量。

    示例

        print(_sys.memUsage)
  • + microClient : bool

    当前是否是在微端内运行。

    示例

        print(_sys.microClient)
  • + mobileResPath : string

    当前应用在移动设备的资源目录。

    示例

        print(_sys.mobileResPath)
  • + mobileVendor : uint

    移动运营商。

    示例

        print(_sys.mobileVendor)
  • + mobileWritePath : string

    当前应用在移动设备的可写目录。

    示例

        print(_sys.mobileWritePath)
  • + networkState : int

    返回当前网络状态.

    示例

        if _sys.networkState == _System.NetWwan then 
    print('蜂窝网络')
    end
  • + os : string

    返回当前系统类型.

    返回值

    平台名称:win32,ios,android,linux,mac,unknown。

    示例

        print(_sys.os)
  • + osVersion : string

    返回当前系统版本.

    返回值

    系统版本号,移动版9.3/4.04/2.3.2,PC版类似Windows 2000/Windows XP/Windows 10

    示例

        print(_sys.osVersion)
  • + pluginVersion : int

    当前插件版本,老版本号默认为0x10000,新版本号会递增。

    示例

        print(_sys.pluginVersion)
  • + processFileName : string

    当前执行文件的文件名。

    示例

        print(_sys.processFileName)
  • + signalStrength : int

    手机当前信号强度,取值范围0-4,值越大表示信号越强。

    示例

        print(_sys.signalStrength)
  • + totalMemory: int

    总内存字节数。

    示例

        print(_sys.totalMemory)
  • + udid: string

    Android设备唯一识别码,国内有些品牌手机是固定值。

    示例

        print(_sys.udid)
  • + usedMemory: int

    使用的内存字节数。

    示例

        print(_sys.usedMemory)
  • + uuid : string

    当前应用在iOS设备上的ID。

    示例

        print(_sys.uuid)
  • + version : string

    FOB的版本信息。

    示例

        print(_sys.version)
  • + videoCardVendorName : string

    渲染设备供应商名称。

    示例

        print(_sys.videoCardVendorName)

属性展开

  • + asyncLoad : bool

    是否启用异步加载。

    示例

        _sys.asyncLoad = true
  • + asyncShader : bool

    是否启用异步编译shader。

    示例

        _sys.asyncShader = true
  • + autoLoadAlphaImage : bool

    是否自动加载alpha贴图。

    示例

        _sys.autoLoadAlphaImage = false
  • + autoLoadLodMesh : bool

    是否自动加载模型。

    示例

        _sys.autoLoadLodMesh = false
  • + autoLoadMeshAnima : bool

    是否自动加载模型动画。

    示例

        _sys.autoLoadMeshAnima = false
  • + batchDecal : bool

    是否启用decal合并。

    示例

        _sys.batchDecal = true
  • + batchUI : bool

    是否启用UI合并,用来解决手机上有些Android设备UI文字显示不全问题。

    示例

        _sys.batchUI = true
  • + cache : bool

    是否使用资源缓存。

    示例

        _sys.cache = true
  • + catchResError : bool

    是否捕捉资源加载错误。

    示例

        _sys.catchResError = true
  • + checkOutParam: bool

    当值为true时,支持传入对象拿函数返回值的方法必须传进去一个对象,避免生成新的对象。

    示例

        _sys.checkOutParam= true
  • + clipboard : string

    将字符串str存储到剪切板中

    示例

       _sys.clipboard = str
  • + currentFolder : string

    设置当前工作目录。

    示例

        _sys.currentFolder = "c:\work"
  • + downloadLog : bool

    是否记录下载日志。

    示例

        _sys.downloadLog = true
  • + downloadPause : bool

    是否暂停下载。

    示例

        _sys.downloadPause = true
  • + downloadSpeed : float

    获取当前下载速度或设置总的最高下载速度,设置为0时取消下载限速。

    示例

        print(_sys.downloadSpeed)
    _sys.downloadSpeed = 80*1024
  • + enableIME: bool

    是否允许切换输入法。

    示例

        _sys.enableIME= false
  • + fpsLimit : uint

    设置帧数的最大值。

    示例

        _sys.fpsLimit = 20
  • + fullScreen : bool

    是否全屏显示游戏界面,需要判断插件版本,_sys.pluginVersion > 0x10000时,完整支持该功能。老IE插件有问题,老NPR插件没有问题。

    示例

        _sys.fullScreen = true
  • + gpuSkinning: bool

    是否使用GPU蒙皮。

    示例

        _sys.gpuSkinning= true
  • + inputDisabled : bool

    是否关闭输入事件。

    示例

        _sys.inputDisabled = true
  • + memArchive : bool

    是否使用内存文件系统。

    示例

        _sys.memArchive = true
  • + pauseAnima: bool

    是否暂停所有动画。

    示例

        _sys.pauseAnima= true
  • + pauseCamera: bool

    是否暂停所有摄像机移动。

    示例

        _sys.pauseCamera= true
  • + pausePfx: bool

    是否暂停所有特效。

    示例

        _sys.pausePfx= true
  • + profileThreshold : int

    设置性能打印阈值,函数执行时间超过该阈值时打印函数名称。 profile功能用于检测函数执行时间, 在foaparam里面加上profile|enable|pthreshold|500开启该功能, 或者在fancy-dev.cfg中开启该功能: codefile|a.lua|profile|enable|pthreshold|500。 功能开启后,可以在lua中重置统计时长,也可以在lua中查看或修改阈值

    示例

        _sys.profileThreshold = 400
  • + showMemory : bool

    是否显示内存占用信息。

    示例

        _sys.showMemory = true
  • + showPfx : bool

    是否显示所有特效。

    示例

        _sys.showPfx = true
  • + showStat : bool

    是否显示统计信息。

    示例

        _sys.showStat = true
  • + showVersion : bool

    是否显示版本信息。

    示例

        _sys.showVersion = true
  • + skeletonPick: bool

    打开时自动加载bound模型用于pick。

    示例

        _sys.skeletonPick = true
  • + SWFGlyphCacheHeight: int

    SWF字体缓存图片高度。

    示例

        _sys.SWFGlyphCacheHeight= 1024
  • + SWFGlyphCacheNum: int

    SWF字体缓存图片数量。

    示例

        _sys.SWFGlyphCacheNum = 1
  • + SWFGlyphCacheWidth: int

    SWF字体缓存图片宽度。

    示例

        _sys.SWFGlyphCacheWidth= 1024
  • +

    mainThreadLog : bool

    是否在Log中打印主线程IO加载的文件。

    示例

        _sys.mainThreadLog = true

公共方法展开

  • + function addDownloadHost(host : string)

    添加下载主机。

    示例

        _sys:addDownloadHost('host')
  • + function addPath([path1 : string, path2 : string, ...])

    将路径加入到资源库中。加入后该路径下的文件与目录都,可以在资源库中直接访问。路径增加的太多会影响查找效率

    示例

        _sys:addPath('?:\.....')
  • + function browse(url : string, usedefault: bool)

    用浏览器打开指定的url。usedefault参数用来控制是否使用系统默认浏览器打开url,不填或为false时,引擎尝试用当前浏览器打开url。

    示例

       _sys:browse('http://www.fancyengine.com')
  • + function checkUpdate(url : string, callback : function, newfod : string)

    检查是否需要更新。

    • 参数
    • url:Foa包的地址。

    • callback:检查完成之后的回调,此回调有四个参数,第一个参数是是否检查成功,第二个参数是新foa的版本号,第三个参数是foa中appName属性,第四个参数是foa中appTitle属性。

    • newfod:要升级的新的fod的名字,可选

    示例

        _sys:checkUpdate(‘http://www.fancy3d.com/fancy3dsample.zip’, function(done,version,appname,apptitle) print(done,version,appname,apptitle) end)
  • + function clearConfig(filename : string)

    删除配置文件。

    示例

       print( _sys:clearConfig('f://Examples/System/file.txt'))
  • + function closeWebWindow(winid : uint)

    关闭指定的WebWindow。

    • 示例

       _sys:openWebWindow(w1)
  • + function command(cmdline : string, wait : bool, show : bool)

    执行cmdline指定的命令。

    • 参数
    • wait:是否挂起等待命令完成。
    • show:是否显示命令窗口。
    • 示例

        _sys:command("mycmd.bat", true, false)
  • + function copyFile(src: string, des : string) : bool

    拷贝文件。

    • 参数
    • src:源文件路径。
    • des:目标文件路径。
    • 返回
      操作是否成功。

    • 示例

       if _sys:copyFile('oneFile', 'anotherFile') then
      print("copy to file")
  • + function copyFolder(src : string, des : string) : bool

    拷贝文件夹。

    • 参数
    • src:源文件夹路径。
    • des:目标文件夹路径。
    • 返回
    • 操作是否成功。

    • 示例

       if _sys:copyFolder('oneFolder', 'anotherFolder') then
      print('copy a folder')
  • + function createFolder(foldername : string) : bool

    创建文件夹

    • 参数
    • foldername:文件夹名。
    • 返回
    • 创建是否成功。

    • 示例

       if _sys:createFolder('newFolder') then
      print('create a folder')
  • + function delFile(filename : string) : bool

    删除文件。

    • 参数
    • filename:文件名。
    • 返回
    • 删除是否成功。

    • 示例

       if _sys:delFile('newFile') then
      print('delete a file')
  • + function delFolder(foldername : string) : bool

    删除文件夹。

    • 参数
    • foldername:文件夹名。
    • 返回
    • 删除是否成功。

    • 示例

       if _sys:delFolder('newFolder') then
      print('delete a folder')
  • + function delPath([path1 : string, path2 : string, ...])

    从资源库中删除路径。

    示例

        _sys:delPath('?:\.....')
  • + function doUpdate(callback1 : function, callback2 : function)

    启动更新。

    参数

        callback1:升级完成后的回调。第一个参数是是否更新成功,第二个参数是新foa的版本号
    callback2:升级过程中的回调。第一个参数是当前进度,第二个参数是已更新的文件数,第三个参数是总文件数,第四个参数是已更新的字节数,第五个参数是总字节数,第六个参数是当前下载速度。

    示例

        _sys:doUpdate( function(done,version)
    print(one,version)
    end,
    function(prog, finishCount, count, finishSize, size, speed)
    print(prog, finishCount, count, finishSize, size, speed)
    end)
  • + function downloadMClient(url: string, checksum: string, message: string, warning: string, done: function, progress: function) : bool
    • 参数
    • url:指定从哪个url下载微端。
    • checksum:服务器上微端的校验码。
    • message:弹窗时显示的提示信息。
    • warning:微端启动失败时显示的提示信息。
    • done: 下载完成时的回调函数。
    • progress:下载过程中的回调函数。

    • 返回

    • 是否启动了下载,如果返回false,说明微端已经在本地,可以直接拉起。

    • 示例

       local f = _sys:downloadMClient(url, md5, msg, warn,
       function(s)
        if s then
          print('download done')
          _sys:notifyMicroClient(pcmd, false, 'skinbox1.bmp', 'normal1.bmp', 'hover1.bmp',true)
          progress=1
        else
          print('download fail')
          progress=0
        end
      end,
      function(p)
      progress=p
      end
      )
      if !f then
      _sys:notifyMicroClient(pcmd, false, 'skinbox1.bmp', 'normal1.bmp', 'hover1.bmp',true)
      end
  • + function enumFile(path : string, recursive : bool, enumFunc : function[, doneFunc : function])

    枚举目录下的文件。每次枚举都调用回调函数enumFunc,参数为枚举到的文件名。枚举全部完成后会调用doneFunc。

    • 参数
    • path:枚举的目录。
    • recursive:是否枚举子文件夹。
  • + function enumFolder(path : string, recursive : bool, enumFunc : function[, doneFunc : function])

    枚举路径下的文件夹。每次枚举都调用回调函数enumFunc,参数为枚举到目录名。枚举全部完成后会调用doneFunc。

    • 参数
    • path:枚举的路径。
    • recursive:是否枚举子文件夹。
  • + function fileExist(filename : string, inFoa: bool ) : bool

    判断文件是否存在。

    • 参数
    • filename:文件名。
    • inFoa: 在foa里查找
    • 返回
    • 判断的结果。
    • 示例

       print(_sys:fileExist('file.txt')) -- 存在则返回true,否则返回false
  • + function folderExist(foldername : string) : bool

    判断文件夹是否存在。

    • 参数
    • foldername:文件夹名。
    • 返回
    • 文件夹是否成功。

    • 示例

       if _sys:folderExist('newFolder') then
      print('folder is exist')
  • + function getAbsoluteMouse() : variable

    返回鼠标的绝对坐标,即相对于屏幕的坐标。

    示例

        _app:onIdle(function(e)
    v = _Vector2.new()
    v = _sys:getAbsoluteMouse()
    print(v.x, v.y)
    end)
  • + function getAvailableDiskSpace(root : string)

    添加磁盘剩余存储空间或手机剩余内部、外部存储空间。

    示例

        _sys:getAvailableDiskSpace('c:')
    _sys:getAvailableDiskSpace('internal')
    _sys:getAvailableDiskSpace('external')
  • + function getExtention(filename : string) : _string

    从文件名filename中获得扩展名。

    • 返回
    • 扩展名。

    • 示例

       print(_sys:getExtention('file.txt'))
  • + function getFileName(filename : string, ext : bool, wholepath : bool) : _string

    从字符串filename中获得文件名。

    • 参数
    • ext:获得的结果是否包括扩展名。
    • wholepath:获得的结果是否包括全路径。
    • 返回
    • 文件名。
    • 示例

       _sys:getFileName('f://Examples/System/file.txt', false, true)
  • + function getGlobal(name : string) : _object

    返回变量名为name的全局变量的值。

    示例

       print( _sys:getGlobal('Cube'))
  • + function getPathName(filename : string, wholepath : bool) : _string

    从字符串filename中获得路径名。

    • 参数
    • wholepath:获得的结果是否包括全路径。
    • 返回
    • 路径名。
    • 示例

       _sys:getPathName('f://Examples/System/file.txt', true)
  • + function getRelativeMouse() : variable

    返回鼠标的相对坐标,即相对于窗口的坐标。

    示例

        _app:onIdle(function(e)
    v = _Vector2.new()
    v = _sys:getRelativeMouse()
    print(v.x,v.y)
    end)
  • + function getTotalDiskSpace(root : string)

    添加磁盘存储空间或手机内部、外部存储空间大小。

    示例

        _sys:getTotalDiskSpace('c:')
    _sys:getTotalDiskSpace('internal')
    _sys:getTotalDiskSpace('external')
  • + function getUrl() : _string

    返回当前页面的链接地址。

    示例

       print( _sys:getUrl('www.fancyguo.com'))
  • + function hideKeyboard()

    移动端隐藏软键盘。

    示例

        _sys:hideKeyboard()
  • + function httpGet(url : string[, callbackFunc : function])

    向URL地址为url的目标发送http的get请求,如果设置了回调函数,在get请求返回后调用回调函数。

    示例

        _sys:httpGet('http://10.0.0.1/get?a=123', function(data)
    print(data)
    end
    )
  • + function httpPost(url : string, data : string, [, callbackFunc : function])

    向URL地址为url的目标发送http的post请求,如果设置了回调函数,在post请求返回后调用回调函数。

    示例

        _sys:httpPost('http://10.0.0.1/get', 'a=123', function(data)
    print(data)
    end
    )
  • + function httpReport(url : string)

    向URL地址为url的目标发送http请求,多用于统计信息的发送。

    示例

        _sys:httpReport('http://10.0.0.1/report?a=123') 
  • + function installFont(resname : string)

    安装字体。

    • 参数
    • resname:字体文件名。

    • 示例

       _sys:installFont('simfang.ttf')
      print ('fancy3d')
  • + function installFontLib(resname : string)

    安装swf字体库(支持swf/gfx)。

    • 参数
    • resname:swf字体库文件名。

    • 示例

       _sys:installFontLib('font.swf')
  • + function invoke(func : string, ...)

    调用当前页面内的函数。

    • 参数
    • func为函数名,后面可跟任意多个参数。这些参数都将作为函数func的参数来调用。

    • 示例

      _sys:invoke( 'moveSun', 50, 40, 10 )
  • + function isFontExisting( fontname : string ) : bool

    判断系统是否有需要的字体

    • 参数
    • fontname :字体名。
    • 返回
    • 系统是否有该字体。
  • + function isKeyDown(key : uint) : _bool

    返回键值为key的按键是否被按下。

    • 示例

       _app:onIdle(function(e)
      if _sys:isKeyDown(_System.MouseLeft) then
      print('yes')
      end
      end)
  • + function joinQQGroup(key : string, identifier : string)

    移动端加入QQ群, 安卓只需要参数key, iOS两个参数都要。

    • 参数
    • key:腾讯官网生成的群号对应的key, 获取key的地址 : http://qun.qq.com/join.html
    • identifier:iOS设备的标识。

    示例

        _sys:joinQQGroup("r_kJ4lSnla_7Bwt_a2lALG68ReMK1e3v")
  • + function loadPackage(packname : string)

    从字符串filename中获得路径名。

    • 参数
    • wholepath:获得的结果是否包括全路径。
    • 示例

       _sys:loadPackage('f://Examples/System/file.txt')
  • + function md5(data : string) : _string

    md5加密。

    • 参数
    • data:待加密的数据,类型为string。
    • 返回
    • 加密后的结果。
    • 示例

       data = 'fancy3d'
      datas = _sys:md5(data)
      print(data, datas)
  • + function md52(data : string) : _string

    标准md5加密方法。

    • 参数
    • data:待加密的数据,类型为string。
    • 返回
    • 加密后的结果。
    • 示例

       data = 'fancy3d'
      datas = _sys:md52(data)
      print(data, datas)
  • + function moveFile(src : string, des : string) : bool

    移动文件。

    • 参数
    • src:源文件路径。
    • des:目标文件路径。
    • 返回
    • 操作是否成功。

    • 示例

       if _sys:moveFile('oneFile', 'anotherFile') then
      print("move to file")
  • + function moveFolder(src : string, des) : bool

    移动文件夹。

    • 参数
    • src:源文件夹路径。
    • des:目标文件夹路径。
    • 返回
    • 操作是否成功。

    • 示例

       if _sys:moveFolder('newFolder') then
      print('move a folder')
  • + function moveWebWindow(winid : uint,x : uint, y : uint, w : uint, h : uint)

    移动指定的WebWindow。

    • 示例

       _sys:openWebWindow(w1, x, y, w, h)
  • + function notifyMicroClient(cmd: string, slient: bool, bgimage: string, closebutton: string, closebuttonhover: string, admin: bool) : bool
    • 参数
    • cmd:启动微端时,传给微端的启动参数。
    • slient:启动微端时是否不提示用户。
    • bgimage:弹窗时显示的窗口背景图片,必须是bmp格式的,为防止打包时被转为非bmp格式,可以把bmp文件的扩展名改为jpeg。 注意:图片里的纯白色(255,255,255)会被程序裁成透明背景,达到异形窗口的效果,但是字体颜色不要用纯白,不然文字显示会比较模糊。
    • closebutton:弹窗时显示的窗口上关闭按钮的图片,必须是bmp格式的,为防止打包时被转为非bmp格式,可以把bmp文件的扩展名改为jpeg。
    • closebuttonhover: 弹窗时显示的窗口上关闭按钮鼠标悬停时的图片,必须是bmp格式的,为防止打包时被转为非bmp格式,可以把bmp文件的扩展名改为jpeg。
    • 注意,上述图片资源最好放到首包,确保调用该接口时,资源文件已经下载完毕。
    • admin: 运行微端时以管理员权限运行,在IE虚拟目录情况下需要设置为true

    • 返回

    • 是否启动了微端。

    • 示例

       _sys:downloadMClient(url, md5, msg, warn,
       function(s)
        if s then
          print('download done')
          _sys:notifyMicroClient(pcmd, false, 'skinbox1.bmp', 'normal1.bmp', 'hover1.bmp',true)
          progress=1
        else
          print('download fail')
          progress=0
        end
      end,
      function(p)
      progress=p
      end
      )
  • + function onError(onerror: function)

    设置错误打印信息的回调函数。

    • 参数
    • onerror : 回调函数。该回调函数类型为 function(error : string),参数error错误打印信息。

    • 示例

      _sys:onError(function(error) 
      #process error string
      ...
      end)
  • + function onTrace(ontrace: function)

    设置调试打印信息的回调函数。

    • 参数
    • ontrace : 回调函数。该回调函数类型为 function(log: string),参数log为调试打印信息。

    • 示例

      _sys:onTrace(function(log) 
      #process log string
      ...
      end)
  • + function openFile() : _string

    打开“选择目录”的对话框。

    • 返回
    • 目录名。
    • 示例

       _sys:openFile()
  • + function openFolder() : _string

    打开“选择目录”的对话框。

    • 返回
    • 目录名。
    • 示例

       _sys:openFolder()
  • + function openWebWindow(x : uint, y : uint, w : uint, h : uint, url : string ) : uint

    打开WebWindow,返回此WebWindow的ID。

    • 示例

       local w1 = _sys:openWebWindow(x, y, w, h, 'url')
  • + function pauseDownloadTask(priority: int )

    暂停下载任务。

    • 参数
    • priority:要暂停的下载任务优先级,0/1/2/3分别对应后台/低/中/高优先级
    • 示例

       _sys:pauseDownloadTask(0) -- 暂停后台下载
  • + function preLoadShader()

    预编译常用shader,用于异步编译shader。

    示例

        _sys:preLoadShader()
  • + function profileReset()

    profile功能用于检测函数执行时间,在foaparam里面加上profile|enable|pthreshold|500, 或者在fancy-dev.cfg中开启该功能:codefile|a.lua|profile|enable|pthreshold|500。 功能开启后,可以在lua中重置统计时长,也可以在lua中查看或修改阈值。

    示例

        _sys:profileReset()
    print(_sys.profileThreshold)
    _sys.profileThreshold = 600
  • + function readConfig(filename : string) : _string

    读取配置文件。文件名为filename字符串。

    • 返回
    • 文件内容。

    • 示例

      print( _sys:readConfig('file.txt'))
  • + function resumeDownloadTask(priority: int )

    恢复下载任务。

    • 参数
    • priority:要恢复的下载任务优先级,0/1/2/3分别对应后台/低/中/高优先级
    • 示例

       _sys:resumeDownloadTask(0) -- 恢复后台下载
  • + function saveFile() : _string

    打开“保存文件”的对话框。

    • 返回
    • 文件名。
    • 示例

       _sys:saveFile()
  • + function savePackage(folder : string, filename : string)

    保存包到目录folder下的filename文件。

    示例

        _sys:getFileName('System', 'f://Examples/System/file.txt')  
  • + function selectColor() : uint

    打开“选择颜色”的对话框。

    • 返回
    • 颜色值。
    • 示例

       _sys:selectColor()
  • + function setFileAssociation(ext : string, exe : string, type : string)

    设置文件关联。

    • 参数
    • ext:关联文件的扩展名,以"."开头。
    • exe:打开关联文件的可执行文件。
    • type:关联文件的文件类型名。

    • 示例

      _sys:setFileAssociation('.cfg', 'fancy-dev.exe', '.cfg')
  • + function setGlobal(name : string, value : object) : _System

    设置全局变量。变量名为name,值为value对象。

    示例

       _sys:setGlobal('Cube',  _Mesh)
  • + function setLogicalResolution(width : number, height : number, norm : bool)

    设置逻辑分辨率

    • 参数
    • width:宽
    • height:高
    • norm:是否需要拉伸或缩放

    示例

        _sys:setLogicalResolution(100, 100, true)
  • + function showKeyboard(text: string)

    移动端显示软键盘。

    示例

        _sys:showKeyboard('default text')
  • + function writeConfig(filename : string, config : string)

    建立config文件。文件名为filename字符串,内容为config字符串。

    示例

        _sys:writeConfig('f://Examples/System/file.txt', 'fancy.config')
问题反馈(登录才可以发表哦!)