1 Star 0 Fork 7

瑶池潜龍/FYGameFramework_CocosCreator

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
BK.d.ts 51.65 KB
一键复制 编辑 原始数据 按行查看 历史
Foryun 提交于 2019-02-12 17:54 . 创建工程
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024
/**
* Bricks Engine Official API
*/
declare interface Map<T> {
[index: string]: T
}
declare interface GAMESTATUSINFO_DRESSINFO {
"atlas": string,
"json": string
}
declare interface GAMESTATUSINFO_DRESSINFO {
"atlas": string,
"json": string
}
declare interface GAMESTATUSINFO {
"svrIp": string, //游戏推荐ip。开发者可忽略
"gameVersion": string, //游戏版本号
"isMaster": number, //是否房主,1房主,0参加者
"dressPath": Array<GAMESTATUSINFO_DRESSINFO>,//厘米秀衣服路径
"gameId": number, //游戏id
"osVersion": string, //系统版本 "10.3"
"networkType": number, //网络类型 1 电信 ,2 联通 ,3 移动 0: wifi或未知
"roomId": number, //房间号
"platform": string, //取值为 "ios"或"android"
"openId": string, //当前用户的标识
"spriteDesignHeight": number,//厘米秀小人spine动画的设计高度
"QQVer": string, //手机qq版本
"isFirstPlay": number, //是否第一次玩 1.第一次玩,0非第一次玩
"skltPath": GAMESTATUSINFO_DRESSINFO, //厘米秀小人spine骨骼
"port": number, //推荐端口 开发者可忽略,
"gameMode": number,
"aioType": number,
"avGameId": number,
"avAccountType": number,
"avRoomId": number,
"sessionId"?: number,
"devPlatform"?: string, //仅在开发环境下可以,手q环境下无该字段
"avAppId"?: number,
"src": number,
"commFlagBits": number,
"isWhiteUser": number,
"isFirstInstall":number, //是否首次安装 1为首次安装 0非首次安装
}
/**
* 全局变量
*/
declare var GameStatusInfo: GAMESTATUSINFO;
interface IFileSystemReadFileParam {
path: string,
encoding?: string
}
interface IFileSystemRead {
file: Array<IFileSystemReadFileParam>,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface IFileSystemWriteFileParam {
path: string,
encoding?: string,
data: BK.Buffer
}
interface IFileSystemWriteOriginFileParam {
path: string,
encoding?: string,
data: ArrayBuffer
}
interface IFileSystemWrite {
file: Array<IFileSystemWriteOriginFileParam>,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface IFileSystemZipParam {
path: string,
zipPath: string
}
interface IFileSystemZip {
file: Array<IFileSystemZipParam>,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface IFileSystemUnzipParam {
path: string,
zipPath: string
}
interface IFileSystemUnzip {
file: Array<IFileSystemUnzipParam>,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface IImageLoadParam {
path: string,
format: number
}
interface IImagesLoad {
file: Array<IImageLoadParam>,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface IImageLoadImageWithBase64
{
buffer:ArrayBuffer | BK.Buffer
}
interface ISaveImage
{
bitmap: ArrayBuffer, //位图数据
width: number, //宽
height: number,//高
path: string, //路径
ext: string, //后缀
isFlipY?: number //是否上下翻转
}
interface ITextreLoadParam {
path: string,
format: number
}
interface ITextureLoad {
file: Array<ITextreLoadParam>,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface readDirParam {
path: string,
needDir?: boolean,
success?: (obj: object) => void,
fail?: (obj: object) => void,
complete?: () => void
}
interface IReadDirInfo {
errMsg?: string,
files?: Array<string>
}
interface FileInfo {
size: number,
atime: number,
mtime: number,
ctime: number
}
/**
* 加载图片参数
*/
interface IImageLoad {
image: string | ArrayBuffer | BK.Buffer,
format?: number
}
declare class BKStorageEventLisener{
private storageEmitter:EventEmitter;
constructor();
/**
*
* 添加storage 监听回调
*
* @param name 监听事件 ‘storage’
* @param listener 监听回调
*/
public addEventListener(name:string,listener:(...args: any[]) => void):void;
/**
*
* 移除storage 监听回调
*
* @param name 监听事件 ‘storage’
* @param listener 监听回调
*/
public removeEventListener(name:string,listener:(...args: any[]) => void):void;
/**
*
* 分发storage事件
*
* @param name 事件名称 ‘storage’
* @param event 事件消息内容
*/
public dispatchEvent(name:string,event:BKStorageEvent):void;
}
declare class BKStorage {
public length:number;
/**
*
* storage
*
* @param type storage 类型
*/
constructor(type:StorageType);
/**
*
* 获取对应索引的key
*
* @param index 索引值
*/
public key(index:number):string|null;
/**
*
* 获取key对应的value
*
* @param key 要获取的key
*/
public getItem(key:string):string|null;
/**
*
* 设置key的value
*
* @param key 需要修改的key
* @param value 需要设置的value
*/
public setItem(key:string,value:string):void;
/**
*
* 要移除的key
*
* @param key 要移除的key
*/
public removeItem(key:string):void;
/**
* 清除当前storage 保存的数据
*/
public clear():void;
/**
*
* @param url 绑定当前storage 到url
*/
private bindUrl(url:string):void;
[name:string]:any;
}
declare namespace BK {
let fileSystem: FileSystem;
let taskManager: TaskManager;
let storageEventListener : BKStorageEventLisener;
let localStorage:BKStorage;
let sessionStorage:BKStorage;
function getStorageData(gameId:number):string;
function setStorageData(data:string,gameId:number):void;
interface SpriteNineInitParam{
texture:BK.Texture
textureWidth?:number
textureHeight?:number
grid?:Grid
offset?:BK.SpritePosition
rotated?:boolean
}
interface Grid{
top:number,
bottom:number,
left:number,
right:number
}
enum RepeatMode{
mirrorRepeat = 0, //镜像重复
repeatToEdge = 1, //重复至边缘
selfRepeat = 2 //重复整个图片
}
interface LoadSetParam{
jsonPath:string; //图集json文件路径
texturePath:string; //图集png文件路径
format?:number //资源格式 (可选,默认为RGBA8888)6代表RGBA8888,4代表RGBA4444
minFilter?:number //缩小采样方式 (可选,默认为1) 0最近采样 1线性采样
magFilter?:number //放大采样方式 (可选,默认为1)0最近采样 1线性采样
uWrap?:BK.RepeatMode //u轴重复方式 (可选,默认为1) 0镜像重复,1重复至边缘,2重复
vWrap?:BK.RepeatMode //v轴重复方式 (可选,默认为1) 0镜像重复,1重复至边缘,2重复
}
interface SpriteInfo{
filename:string
width:number
height:number
}
/**
* 九宫图
*/
class SpriteNine{
constructor(initParam:SpriteNineInitParam)
/**
* 设置大小
* @param size
*/
setSize(size:BK.SpriteSize):void
/**
* 设置位置
* @param position
*/
setPosition(position:BK.SpritePosition):void
}
/**
* 图集
*/
class SpriteSetCache{
/**
* 加载图集
* @param {LoadSetParam}param
*/
static loadSet(param:LoadSetParam):void
/**
* 从图集中获取精灵
* @param {SpriteInfo} spriteInfo
*/
static getSprite(spriteInfo:SpriteInfo):BK.Sprite|null
/**
* 根据图片路径移除图集
* @param {string} texturePath 文件路径
*/
static removeSet(texturePath:string):void
/**
* 根据图集文件中小图的名称获取大图的纹理
* @param {string} filename 图集文件中小图的名称
*/
static getTextureByFilename(filename:string):BK.Texture|null
/**
* 根据图集文件中小图名称,获取小图的位置信息
* @param {string} filename 图集文件中小图的名字
*/
static getFrameInfoByFilename(filename:string):SheetFrameInfo|null;
/**
* 根据图集文件中小图名称,获取小图的位置信息和大图的纹理对象
* @param {string} filename 图集文件中小图的名字
*/
static getTextureInfoByFilename(filename:string):TextureInfo|null;
/**
* 根据图集文件中小图名称,获取大图纹理路径名称
* @param {string} filename 图集文件中小图的名字
*/
static getTexturePathByFilename(filename:string) : string|null
/**
* 根据图集文件中小图名称,创建一个图集精灵对象
* @param {SpriteInfo} spriteInfo 创建图集所需参数
*/
static createSpriteSet(spriteInfo:SpriteInfo):BK.SpriteSet|null
}
interface SpriteSetInitParam{
textureInfo:BK.TextureInfo;
width?:number;
height?:number;
flipU?:number;
flipV?:number;
stretchX?:number;
stretchY?:number;
}
class SpriteSet extends Sprite{
constructor(initParam:BK.SpriteSetInitParam)
}
interface SheetRect{
x:number,
y:number,
width:number,
height:number
}
interface SheetSize{
width:number,height:number
}
interface SheetPoint{
x:number,y:number
}
interface SheetFrameInfo{
filename:string,
frame: SheetRect,
rotated: boolean,
trimmed: boolean,
spriteSourceSize: SheetRect,
sourceSize: SheetSize,
}
interface TextureInfo
{
texturePath:string,
frameInfo:SheetFrameInfo,
texture:BK.Texture|null
}
//AnimationSprite
interface AnimationSpriteInfo{
animationSprite:BK.AnimationSprite;
count: number;
}
interface Anchor{
x:number,
y:number
}
interface SpritePosition{
x:number,
y:number
}
interface SpriteSize{
width:number,
height:number
}
interface AnimationSpritePlayParam{
beginFrameIndex:number,
repeatCount:number;
}
interface AnimationSpriteStopParam{
frameIndex:number
}
/**
* 帧动画
*/
class AnimationSprite extends BK.Sprite{
constructor(sheetTextureInfoArray:Array<BK.TextureInfo>)
/**
* 播放帧动画
* @param {BK.AnimationSpritePlayParam} param
*/
play(param?:BK.AnimationSpritePlayParam):void
/**
* 停止帧动画
* @param {number} frameIndex 停止后要显示的帧序号 默认为当前帧
*/
stop(frameIndex?:number):void
/**
* 设置显示的位置 默认{x:0, y:0}
* @param {BK.SpritePosition} position
*/
setPosition(position:BK.SpritePosition):void
/**
* 设置显示的大小
* @param {BK.SpriteSize} size
*/
setSize(size:BK.SpriteSize):void
/**
* 锚点 默认{x:0,y:0}
* 默认为图片左下角
* @param anchor
*/
setAnchor(anchor:BK.Anchor):void
/**
* 设置帧动画 每一帧的时长,单位为秒 默认为1/30
* @param {number} duration 每帧时长 单位:秒
*/
setFrameDuration(duration:number):void
/**
* 暂停帧动画 可以通过resume()恢复
*/
pause():void
/**
* 继续帧动画
*/
resume():void
/**
* 每播放完成一次时回调
* @param completeCallback
*/
setCompleteCallback(completeCallback:(info:BK.AnimationSpriteInfo)=>void):void
/**
* 全部播放完成时回调
* @param endCallback
*/
setEndCallback(endCallback:(info:BK.AnimationSpriteInfo)=>void):void
}
/**
* 保持屏幕常亮所需参数
*/
interface KeepScreenOnParam {
isKeepOn: boolean //true为保持常亮 false为取消常亮
}
class Device {
/**
* 保持屏幕常亮
* @param {KeepScreenOnParam} param
*/
static keepScreenOn(param: KeepScreenOnParam): void;
}
/**
* 二维码生成成功回调
*/
interface SuccessResult {
path: string;
}
/**
* 二维码生成失败回调
*/
interface FailResult {
msg: string;
}
/**
* 二维码颜色参数
*/
interface RGBA {
r: number;
g: number;
b: number;
a: number;
}
/**
* 二维码纠错等级
*/
enum QRErrorCorrectLevel {
L = 1,
M = 0,
Q = 3,
H = 2
}
/**
* 二维码生成所需配置
*/
interface QRCodeConfig {
width?: number;//默认值 256
height?: number; //默认值 256
colorDark?: RGBA; //默认值 {r:0.0,g:0.0,b:0.0,a:1.0}
colorLight?: RGBA;//默认值 {r:1.0,g:1.0,b:1.0,a:1.0}
correctLevel?: QRErrorCorrectLevel; //默认值 2
}
/**
* 异步生成二维码所需参数
*/
interface QRCodeParam {
path: string; //图片生成位置 只能在GameSandBox://目录及其子目录
content: string; //二维码内容
config?: QRCodeConfig; //二维码生成所需参数
success: (succObj: SuccessResult) => void;
fail: (err: Error) => void;
complete?: () => void;
}
/**
* 同步生成二维码所需参数
*/
interface QRCodeSyncParam {
path: string; //图片生成位置 只能在GameSandBox://目录及其子目录
content: string; //二维码内容
config?: QRCodeConfig; //二维码生成所需参数
}
class QRCode {
/**
* 生成二维码图片到指定位置 同步
* @param {QRCodeSyncParam} param
*/
static makeQRCodeToFileSync(param: QRCodeSyncParam): void;
/**
* 生成二维码图片到指定位置 异步
* @param {QRCodeParam} param
*/
static makeQRCodeToFile(param: QRCodeParam): void;
}
interface Error {
msg: string;
}
/**
* 加密失败结果
*/
interface CryptError {
msg: string;
}
/**
* 加密成功结果
*/
interface CryptResult {
data: string;
}
interface CryptCommonParam {
success: (succObj: CryptResult) => void;
fail: (failObj: CryptError) => void;
complete?: () => void;
}
/**
* MD5加密参数
*/
interface CryptParam extends CryptCommonParam {
data: string;
}
/**
* HAMC-MD5加密参数
*/
interface HMACParam extends CryptCommonParam {
key: string;
data: string;
}
interface CryptSyncParam {
data: string | Array<number>;
}
interface HMACSyncParam {
key: string | Array<number>;
data: string | Array<number>;
}
class Crypt {
/**
* 对data进行md5加密 结果以小写十六进制串形式回调
* @param {CryptParam} param data必须为字符串
*/
static md5ToHex(param: CryptParam): void
/**
* 对data进行md5加密 并将加密后的结果进行Base64转化
* @param {CryptParam} param data必须为字符串
*/
static md5ToBase64(param: CryptParam): void
/**
* 通过key对data进行HMAC-MD5加密, 结果以小写十六进制串形式回调
* @param {HMACParam} param data和key必须为字符串
*/
static hmacMd5ToHex(param: HMACParam): void
/**
* 通过key对data进行HMAC-MD5加密,并将结果进行Base64转化
* @param {HMACParam} param data和key必须为字符串
*/
static hmacMd5ToBase64(param: HMACParam): void
/**
* 将data进行sha1加密 并将结果以小写十六进制串回调
* @param {CryptParam} param data必须为字符串
*/
static sha1ToHex(param: CryptParam): void
/**
* 将data进行sha1加密 并将结果进行Base64转化
* @param {CryptParam} param data必须为字符串
*/
static sha1ToBase64(param: CryptParam): void
/**
* 使用key对data进行Hmac-sha1加密 并将结果以小写十六进制串回调
* @param {HMACParam} param data和key必须为字符串
*/
static hmacSha1ToHex(param: HMACParam): void
/**
* 使用key对data进行Hmac-sha1加密 并将结果进行Base64转化
* @param {HMACParam} param data和key必须为字符串
*/
static hmacSha1ToBase64(param: HMACParam): void
/**
* 对data进行md5加密 结果以小写十六进制串形式返回 同步方法
* @param {CryptSyncParam} param
*/
static md5ToHexSync(param: CryptSyncParam): string
/**
* 对data进行md5加密 并将加密后的结果进行Base64转化 同步方法
* @param {CryptSyncParam} param
*/
static md5ToBase64Sync(param: CryptSyncParam): string
/**
* 通过key对data进行HMAC-MD5加密, 结果以小写十六进制串形式返回 同步方法
* @param {HMACSyncParam} param
*/
static hmacMd5ToHexSync(param: HMACSyncParam): string
/**
* 通过key对data进行HMAC-MD5加密,并将结果进行Base64转化 同步方法
* @param {HMACSyncParam} param
*/
static hmacMd5ToBase64Sync(param: HMACSyncParam): string
/**
* 将data进行sha1加密 并将结果以小写十六进制串返回 同步方法
* @param {CryptSyncParam} param
*/
static sha1ToHexSync(param: CryptSyncParam): string
/**
* 将data进行sha1加密 并将结果进行Base64转化 同步方法
* @param {CryptSyncParam} param
*/
static sha1ToBase64Sync(param: CryptSyncParam): string
/**
* 使用key对data进行Hmac-sha1加密 并将结果以小写十六进制串返回 同步方法
* @param {HMACSyncParam} param
*/
static hmacSha1ToHexSync(param: HMACSyncParam): string
/**
* 使用key对data进行Hmac-sha1加密 并将结果进行Base64转化 同步方法
* @param {HMACSyncParam} param
*/
static hmacSha1ToBase64Sync(param: HMACSyncParam): string
}
/**
* 分享回调参数
*/
interface ShareResult {
retCode: number,
shareDest: number,
isFirstShare: boolean
}
/**
* 网络状态
*/
enum NetworkState {
'NoneToMobileNetwork' = 1,
'NoneToWifi' = 2,
'MobileNetworkToWifi' = 3,
'MobileNetworkToNone' = 4,
'WifiToNone' = 5,
'WifiToMobileNetwork' = 6,
}
/**
* 网络状态回调参数
*/
interface NetworkChangeResult {
state: NetworkState;
}
/**
* 监听游戏退到后台的事件
* 用户按home键将手Q退至后台
* @param callback 监听函数
*/
export function onEnterBackground(callback: () => void): void;
/**
* 取消监听游戏退到后台的事件
* @param callback 待取消的监听函数
*/
export function offEnterBackground(callback: () => void): void;
/**
* 监听游戏回到前台的事件
* 手Q进程从后台回到前台
* @param callback 监听函数
*/
export function onEnterForeground(callback: () => void): void;
/**
* 取消监听游戏回到前台的事件
* @param callback 待取消的监听函数
*/
export function offEnterForeground(callback: () => void): void;
/**
* 监听游戏关闭事件
* 开发者需处理销毁动作:上报用户成绩
* @param callback 监听函数
*/
export function onGameClose(callback: () => void): void;
/**
* 取消监听游戏关闭事件
* @param callback 待取消的监听函数
*/
export function offGameClose(callback: () => void): void;
/**
* 监听分享事件
* @param callback 监听函数
*/
export function onGameShare(callback: () => void): void;
/**
* 取消监听分享事件
* @param callback 待取消的监听函数
*/
export function offGameShare(callback: () => void): void;
/**
* 监听分享完成事件
* 不代表分享成功,可能是分享失败或取消分享了,需判断retCode字段
* @param callback 监听函数
*/
export function onGameShareComplete(callback: (res: ShareResult) => void): void;
/**
* 取消监听分享完成事件
* @param callback 待取消的监听函数
*/
export function offGameShareComplete(callback: (res: ShareResult) => void): void;
/**
* 监听网络变化事件
* @param callback 监听函数
*/
export function onNetworkChange(callback: (res: NetworkChangeResult) => void): void;
/**
* 取消监听网络变化事件
* @param callback 待取消的监听函数
*/
export function offNetworkChange(callback: (res: NetworkChangeResult) => void): void;
/**
* 监听最大化事件
* @param callback 监听函数
*/
export function onMaximize(callback: () => void): void;
/**
* 取消监听最大化事件
* @param callback 待取消的监听函数
*/
export function offMaximize(callback: () => void): void;
/**
* 监听最小化事件 用户点击"收起游戏"
* @param callback 监听函数
*/
export function onMinimize(callback: () => void): void;
/**
* 取消监听最小化事件
* @param callback 待取消的监听函数
*/
export function offMinimize(callback: () => void): void;
export class EmitData {
event: string;
once: boolean;
listener: (...args: any[]) => void;
constructor(event: string, listener: (...args: any[]) => void, once: boolean);
}
export class EventEmitter {
private _emits;
constructor();
private __emit_get;
private __emit_exists;
private __emit_put;
private __emit_remove;
/**
* 添加 listener 函数到名为 eventName 的事件的监听器数组的末尾。
* 注意:多次调用并传入相同的 eventName 和 listener 会导致 listener 被添加与调用多次。
* @param event
* @param listener
*/
on(eventName: string, listener: (...args: any[]) => void): this;
/**
* 添加一个单次 listener 函数到名为 eventName 的事件
* @param eventName
* @param listener
*/
once(eventName: string, listener: (...args: any[]) => void): this;
/**
* 从名为 eventName 的事件的监听器数组中移除指定的 listener。
* @param eventName
* @param listener
*/
off(eventName: string, listener: (...args: any[]) => void): this;
/**
* 同步地调用每个注册到名为 eventName 事件的监听
* 如果事件有监听器,则返回 true ,否则返回 false
* @param eventName
* @param args
*/
emit(eventName: string, ...args: any[]): boolean;
}
export class Script {
/**
*
*/
static getTouchModeAll: number;
/**
* 渲染模式
*/
static renderMode: number;
/**
* 输出log
* @static
* @param {number} level
* @param {number} errCode
* @param {string} info
*
* @memberof Script
*/
static log(level: number, errCode: number, info: string): void;
/**
* 执行其他js脚本文件
*
* @static
* @param {string} scriptPath
*
* @memberof Script
*/
static loadlib(scriptPath: string): void;
/**
* 设置堆栈错误回调
* @param callback
*/
static setErrorObserver(callback: (message: string, stacktrace: string) => void): void;
/**
* 分包加载
* @param scriptPath
*/
static innerLoadLib(scriptPath: string): void;
}
/**
* 控制台打印接口
*/
export class Console {
/**
* release版本输出信息
* @param msg 信息
*/
static log(...msg: any[]): void;
/**
* debug版本输出信息
* @param msg 信息
*/
static debug(...msg: any[]): void;
/**
* release版本输出错误信息
* @param msg 错误信息
*/
static error(...msg: any[]): void;
/**
* 开始计时
* @param label 标签,用于辨识计时器
*/
static time(label: string): void;
/**
* 结束计时,并打印经过的时间
* @param label 标签,用于辨识计时器
*/
static timeEnd(label: string): void;
}
/**
* 广告系统
*/
namespace Advertisement {
/**
* banner组件样式
*/
interface BannerStyle {
x: number;
y: number;
width?: number;
height?: number;
}
/**
* banner类型
*/
const enum BannerViewId {
STATIC = 1001,
DYNAMIC = 1002,
SDK = 1003
}
/**
* banner组件创建参数
*/
interface BannerParam {
viewId?: BannerViewId;
style?: BannerStyle;
}
const enum BannerErrorCode {
Node = 0,
InterNal = 1,
Frequency = 2,
Network = 3,
InvalidRequest = 4,
NoFill = 5,
Server = 6,
FormatMisMatch = 7
}
interface AdError {
msg: string;
code: BannerErrorCode | number;
}
class BannerAd extends EmitterEvent {
bannerId: number;
param: BannerParam;
isLoadSucc: boolean;
ssoCMD: any;
useNative: boolean;
needAutoShow: boolean;
_innerGameBanner: BK.AdBannerHandler | undefined;
static _bannerId(): any;
/**
* 构造函数
* @param param
*/
constructor(param: BannerParam);
/**
* 展示
*/
show(): void;
/**
* 隐藏
*/
hide(): void;
/**
* 销毁
*/
destory(): void;
/**
* 监听拉取失败事件
*
* @param func
*/
onError(func: (err: AdError) => void): void;
/**
* 移除拉取失败事件
* @param func
*/
offError(func: (err: AdError) => void): void;
/**
* 监听加载成功回调
*
* @param func
*/
onLoad(func: () => void): void;
/**
* 取消监听加载成功回调
* @param func
*/
offLoad(func: () => void): void;
private fetch;
private _sendSso;
private _ssoLoad;
private _ssoShow;
private _ssoClose;
private _ssoHide;
}
/**
* 创建banner 广告组件
* @param param 参数
*/
function createBannerAd(param: BannerParam): BannerAd;
class VideoAd extends EmitterEvent {
handle: BK.AdVideoHandler | undefined;
autoShow: boolean;
constructor();
/**
* 展示
*/
show(): void;
/**
* 监听视频开始播放事件
* @param callback
*/
onPlayStart(callback: () => void): void;
/**
* 取消视频开始播放事件
* @param callback
*/
offPlayStart(callback: () => void): void;
/**
* 监听视频结束播放事件
* @param callback
*/
onPlayFinish(callback: () => void): void;
/**
* 取消视频结束播放事件
* @param callback
*/
offPlayFinish(callback: () => void): void;
/**
* 监听加载成功事件
* @param callback
*/
onLoad(callback: () => void): void;
/**
* 取消加载成功事件
* @param callback
*/
offLoad(callback: (...args: any[]) => void): void;
/**
* 监听错误事件回调
* @param callback
*/
onError(callback: (err: AdError) => void): void;
/**
* 取消监听错误
* @param callback
*/
offError(callback: (...args: any[]) => void): void;
/**
* 监听关闭
* @param callback
*/
onClose(callback: (...args: any[]) => void): void;
/**
* 取消监听关闭
* @param callback
*/
offClose(callback: (...args: any[]) => void): void;
}
function createVideoAd(): VideoAd;
}
namespace UI {
/**
* 失败回调的参数
*/
export interface Error {
msg: string;
}
/**
* 公共回调参数
*/
export interface CommonParam {
complete?: () => void;
}
/**
* 显示键盘 参数
*/
export interface ShowKeyboardParam extends CommonParam {
defaultText?: string;
}
/**
* 更新键盘 参数
*/
export interface UpdateKeyboardParam extends CommonParam {
text: string;
}
/**
* 监听回调 参数
*/
export interface KeyboardData {
text: string;
}
/**
* 监听键盘输入事件
* @param inputListener 监听事件的回调函数
*/
export function onKeyboardInput(inputListener: (data: KeyboardData) => void): void;
/**
* 取消监听键盘输入事件
* @param inputListener 监听事件回调函数
*/
export function offKeyboardInput(inputListener: (data: KeyboardData) => void): void;
/**
* 监听用户点击确认按钮时的事件
* @param confirmListener 监听事件的回调函数
*/
export function onKeyboardConfirm(confirmListener: (data: KeyboardData) => void): void;
/**
* 取消监听用户点击确认按钮时的事件
* @param confirmListener 监听事件的回调函数
*/
export function offKeyboardConfirm(confirmListener: (data: KeyboardData) => void): void;
/**
* 显示输入键盘
* @param {ShowKeyboardParam} param 显示键盘所需的参数
*/
export function showKeyboard(param?: ShowKeyboardParam): void;
/**
* 收起键盘
* @param {CommonParam} param 收起键盘所需的参数
*/
export function hideKeyboard(param: CommonParam): void;
/**
* 更新输入框的文字
* @param {UpdateKeyboardParam} param 更新键盘所需的参数
*/
export function updateKeyboard(param: UpdateKeyboardParam): void;
/**
* 展示 toast 组件,默认 2000 毫秒之后消失
* @param object 展示 toast 所需要参数
*/
export function showToast(object:any): void;
/**
* 隐藏 toast 组件
* @param object 隐藏 toast 所需要参数
*/
export function hideToast(object:any): void;
/**
* 展示 loading 组件
* @param object 展示 loading 所需要参数
*/
export function showLoading(object:any): void;
/**
* 隐藏 loading 组件
* @param object 隐藏 loading 所需要参数
*/
export function hideLoading(object:any): void;
/**
* 展示 alert 组件
* @param object 展示 alert 所需要参数
*/
export function showAlert(object:any): void;
}
/**
* 音频相关参数
*/
export namespace Audio {
/**
* 回调结果
*/
interface Result {
code?: number
cmd?: string
data?: Result
}
interface AudioPara {
src?: string
type?: string
id?: number
loop?: boolean
autoPlay?: boolean
volume?: number
muted?: boolean
duration?: number
currentTime?: number
leftVolume?: number
rightVolume?: number
complete?: Function
loopCount?: number
event?: number
paused?: boolean
data?: AudioPara
auto?: boolean
audo?: boolean
message?: string
code?: number
}
}
/**
* 老的音频接口
*/
export class Audio {
/**
*
* @param type 声音类型 0表示背景音乐,1表示特效音乐
* @param musicPath 音乐路径 以GameRes://为前缀
* @param loopCount 重复次数 -1为循环播放
*/
constructor(type: number, musicPath: string, loopCount: number);
//播放
startMusic(cb: () => void): void;
//暂停
pauseMusic(): void;
//继续播放
resumeMusic(): void;
//停止播放
stopMusic(): void;
/**
* 开关
*/
static switch: boolean;
}
/**
* 音频管理类
*
*/
export class AudioManager {
/**
* 暂停所有音频
*/
static pauseAllAudio(): void;
/**
* 恢复所有音频
*/
static resumeAllAudio(): void;
/**
* 销毁所有音频
*/
static destroyAllAudio(): void;
}
/**
* 音频新接口
*/
export class AudioElement extends EventEmitter {
currentTime: number;
duration: number;
/**
* 是否在load完成之后自动播放
*/
autoplay: boolean;
paused: boolean;
/**
* 音量 0到1浮点数
*/
volume: number;
muted: boolean;
src: string;
loop: boolean;
pause(): void;
/**
*
* @param {BK.Audio.AudioPara} para
* {complete:Function} 播放结束的回调,用于获取effect播放的音频id
*/
play(para?: BK.Audio.AudioPara): void;
/**
* 销毁音频对象释放资源
*/
destroy(): void;
seek(time: number): void;
load(): void;
/**
* 支持的音频格式,目前只支持mp3
* @param {string} type
*/
canPlayType(type: string): void;
/**
* effect 接口 恢复音乐
* id 播放的音频id
*/
resume(id?: number): void;
/**
* effect 接口 停止音乐
* id 播放的音频id
*/
stop(id?: number): void;
}
/**
* 音频被中断
* @returns {void}
*/
export function onAudioInterruptionStart(callback: Function): void;
/**
* 音频中断取消
* @returns {void}
*/
export function onAudioInterruptionEnd(callback: Function): void;
/**
* 创建音频对象,新的音频对象
* @param para
* @returns {AudioElement}
*/
export function createAudioContext(para?: any): AudioElement;
export namespace Http {
export interface HttpRequestOptions {
/** 请求URL, 必填 */
url: string;
/** 请求方法, 默认GET */
method?: string;
/** 请求头 */
headers?: Map<string>;
/** 请求体 */
body?: string | ArrayBuffer;
/**
* 请求成功回调, 成功仅代表HTTP请求完成, 不等同于请求成功200
* @param succObj
*/
success?: (succObj: SuccessObject) => void;
/**
* 请求失败回调, 如连接超时等网络错误
* @param errObj
*/
fail?: (errObj: ErrorObject) => void;
/**
* 请求结束回调, 无论请求成功失败都会调用
*/
complete?: () => void;
/**
* 上传进度
* @param curr 当前进度
* @param total 总进度
*/
uploadProgress?: (curr: number, total: number) => void;
/**
* 下载进度
* @param curr 当前进度
* @param total 总进度, 响应头无Content-Length时为-1
*/
downloadProgress?: (curr: number, total: number) => void;
}
export interface SuccessObject {
/** 响应码 */
statusCode: number;
/**
* 响应头
* QQ 7.8.0以下 headers为{}
*/
headers: Map<string>;
/**
* 以字符串形式读取响应体, 请求发生错误时返回空字符串''
* 没有缓存, 每次调用都会重新读取返回新对象, 不会返回前一次读取的对象
*/
text(): string;
/**
* 以JSON对象形式读取响应体, 已经经过JSON.parse解析, 请求发生错误或响应体为空时返回null
* 没有缓存, 每次调用都会重新读取返回新对象, 不会返回前一次读取的对象
*/
jsonObject<T = any>(): T;
/**
* 以ArrayBuffer形式读取响应体, 请求发生错误时返回大小为0的ArrayBuffer
* 没有缓存, 每次调用都会重新读取返回新对象, 不会返回前一次读取的对象
*/
arrayBuffer(): ArrayBuffer;
}
export interface ErrorObject {
/** 错误原因, 用于调试, 不适合直接展示给用户 */
msg: string;
}
/**
* 发起HTTP请求
* @param options HTTP请求参数 包括url, method, headers, body和回调函数
*/
export function request(options: HttpRequestOptions): void;
}
export interface SsoRequestOptions {
reqCmd: string, // 请求命令字,必选
respCmd?: string, // 响应命令字,可选,默认同reqCmd
data?: any, // 请求数据包,可选
isListener?: boolean // 是否监听,可选,默认为true
success?: (succObj: {
code: number,
cmd: string,
data: any,
}) => void
fail?: (failObj: {
code: number,
cmd: string,
data: any,
}) => void
complete?: () => void
}
export class SsoRequest extends EmitterEvent {
/**
* sso请求
* @param options sso请求参数
*/
static request(options: SsoRequestOptions): SsoRequest;
}
/**
* 分享接口
*/
export namespace Share {
export interface ShareOptions {
title?: string, // 分享标题,可选,默认为'轻游戏'
summary?: string, // 分享内容,可选,默认为'一起来玩游戏吧~'
extendInfo?: string, // 扩展信息,可选,默认为‘’
qqImgUrl: string, // 分享到QQ的图片网络链接,必选,仅支持网络链接
socialPicPath?: string, // 分享到空间、微信、朋友圈的图片本地路径,可选,默认为游戏二维码,仅支持本地路径
msgUrl?: string, // 详情页的网络链接,分享链接必选
isToFriend?: boolean, // 是否发送给好友,可选
range?: { // 截图范围
x: number, // 横坐标
y: number, // 纵坐标
width: number, // 宽
height: number, // 高
},
success?: (succObj: {
code: number,
data: any,
}) => void,
fail?: (failObj: {
code: number,
msg: string,
}) => void,
complete?: () => void,
}
/**
* 基础分享接口
* @param options 截图参数,imgUrl必选,且必须是网络链接
*/
export function share(options: ShareOptions): void;
/**
* 分享H5链接
* @param options 截图参数,imgUrl必选,且必须是网络链接
*/
export function shareLink(options: ShareOptions): void;
}
export class Ticker {
/**
* 每调用60次所需的秒时
* 1代表 1秒调用60次。2代表2秒内调用60 。即1代表60帧/秒 2代表 30帧/秒
* @type {number}
* @memberof Ticker
*/
interval: number;
/**
* 暂停
* true代表暂停,flase代表运行
*
* @type {boolean}
* @memberof Ticker
*/
paused: boolean;
/**
* Creates an instance of Ticker.
*
* @memberof Ticker
*/
constructor();
/**
* 销毁函数
*
*
* @memberof Ticker
*/
dispose(): void;
/**
* 设置定时回调函数
*
* @param {(ts:number,duration:number)=>void} callback
*
* @memberof Ticker
*/
setTickerCallBack(callback: (ts: number, duration: number) => void): void;
}
/**
* 代码实现在brick.js
*/
export class MainTicker extends Ticker {
/**
* 添加定时回调函数
*
* @param {(ts:number, duration:number,obj?:any)=>void} callback
* @param {*} [obj]
* @memberof MainTicker
*/
add(callback: (ts: number, duration: number, obj?: any) => void, obj?: any): void;
/**
* 移除绑定
*
* @param {*} [obj]
* @memberof MainTicker
*/
remove(obj?: any): void;
/**
*
* @param func 回调函数
* @param millsecond 等候时间,单位为毫秒
* @param obj (选填)绑定对象
*/
setTimeout(func: (ts: number, dt: number, object: any) => void, millsecond: number, obj?: any): void;
/**
* 移除绑定对象对应的回调函数
*
* @param {*} obj
*/
removeTimeout(obj: any): void;
}
export class Director {
/**
* 屏幕比例
*/
static screenScale: number;
/**
* 屏幕逻辑大小
*/
static renderSize: Size;
/**
* 屏幕实际像素大小
*/
static screenPixelSize: Size;
/**
* 根节点
*/
static root: Node;
/**
* 帧率
*/
static fps: number;
/**
* 全局定时器
*/
static ticker: BK.MainTicker;
/**
* 是否保持屏幕常量
*/
static isKeepScreenOn: boolean
static setQAVDelegate(delegate: any): void;
/**
* 附着一个物理引擎中的space至全局环境中
*
* @param {BK.Physics.Space} attachSpace
*
* @memberof Director
*/
attachSpace(attachSpace: BK.Physics.Space): void;
//android特有方法
static tickerPause(): void;
//android特有方法
static tickerResume(): void;
static queryDeviceInfo(): void
}
class FileSystem {
/**
*
* 批量异步读取文件
*
* @param object 读文件参数接口
*/
public readFile(object: IFileSystemRead): void;
/**
*
* 批量异步写文件
*
* @param object 写文件参数接口
*/
public writeFile(object: IFileSystemWrite): void;
/**
*
* 批量异步压缩文件
*
* @param object 压缩文件参数接口
*/
public zip(object: IFileSystemZip): void;
/**
*
* 批量异步解压文件
*
* @param object 解压文件接口
*/
public unzip(object: IFileSystemZip): void;
/**
*
* 同步读取文件
*
* @param filePath 文件路径
*/
public readFileSync(filePath: string): ArrayBuffer;
/**
*
* 同步写文件
*
* @param filePath 文件路径
* @param data 文件内容
*/
public writeFileSync(filePath: string, data: ArrayBuffer | string): void;
/**
*
* 同步压缩文件
*
* @param srcPath 待压缩路径
* @param targetZip 压缩包路径
*/
public zipSync(srcPath: string, targetZip: string): void;
/**
*
* 同步解压文件
*
* @param srcZip 待解压包路径
* @param targetPath 解压路径
*/
public unzipSync(srcZip: string, targetPath: string): void;
/**
*
* 创建目录
*
* @param dirPath 目录路径
*/
public makeDirSync(dirPath: string): void;
/**
*
* 删除文件
*
* @param filePath 文件路径
*/
public unlinkSync(filePath: string): void;
/**
*
* 拷贝文件
*
* @param srcPath 源文件路径
* @param destPath 目标文件路径
*/
public copyFileSync(srcPath: string, destPath: string): void;
/**
*
* 文件是否存在
*
* @param path 文件路径
*/
public accessSync(path: string): boolean;
/**
*
* 路径是否是目录
*
* @param path 文件或目录路径
*/
public isDirectory(path: string): boolean;
/**
*
* 获取文件信息
*
* @param file 文件路径
*/
public getFileInfoSync(file: string): FileInfo;
/**
*
* 读取目录
*
* @param object 读文件接口参数
*/
public readDir(object: readDirParam): void;
}
class Image {
buffer: BK.Buffer;
format?: number;
width: number;
height: number;
/**
*
* @param config 加载图片参数接口
*/
static loadImages(config: IImagesLoad): void;
/**
*
* @param buffer 将要加载的已经过base64编码的数据
*/
static loadImageWithBase64(object:IImageLoadImageWithBase64 | ArrayBuffer | BK.Buffer):BK.Image|null;
/**
* 加载图片
*/
static loadImage(object:IImageLoad|ArrayBuffer|BK.Buffer| any,format?:number): BK.Image;
/**
* 保存图片
* @param bitmap
* @param width
* @param height
* @param path
* @param ext
* @param isFlipY
*/
static saveImage(object:ISaveImage|BK.Buffer|ArrayBuffer,
width: number, //宽
height: number,//高
path: string, //路径
ext: string, //后缀
isFlipY?: number ): void;
/**
* info 异步加载图片列表
*/
static loadImageAsync(info:Array<any>):number;
/**
*
* 释放image 数据
*
* @param buffer 需要释放的image数据
*/
static dispose(buffer:BK.Buffer):void;
}
export interface FailInfo {
code: FailCode // 状态码
msg: string // 命令字
}
const enum FailCode {
DEV_NO_SUPPORT = -1, //开发工程下不支持分包
QQ_NO_SUPPORT = -2, //QQ版本不支持
CONFIG_ERROR = -3, //gameConfig.json配置无分包相应字段
LOAD_FAILD = -4 //加载子包失败
}
interface LoadSubPackageParam {
name: string, //子包名
success?: () => void,
fail?: (info: FailInfo) => void,
complete?: () => void,
}
interface LoadSubPackageParam {
name: string, //子包名
success?: () => void,
fail?: (info: FailInfo) => void,
complete?: () => void,
}
export class SubPackageTask {
constructor(packName: string)
onProgressUpdate(callback: (progress: number) => void): void
}
/**
* 分包加载
* @param param
*/
export function loadSubpackage(param: LoadSubPackageParam): SubPackageTask;
/**
* 是否H5游戏
*/
var isBrowser:boolean;
interface SystemInfo {
gameVersion: string, //游戏版本号
isMaster: number, //是否房主,1房主,0参加者
roomId: number, //房间号
gameId: number, //游戏id
osVersion: string, //系统版本 10.3
networkType: number, //网络类型 1 电信 ,2 联通 ,3 移动 0: wifi或未知
platform: string, //取值为 ios或android
openId: string, //当前用户的标识
QQVer: string, //手机qq版本
isFirstInstall:number, //是否首次安装 1为首次安装 0非首次安装
aioType:number, //当前聊天窗类型 1.双人聊天 4.群 5.讨论组
src: number, //游戏启动入口 100:实时PK,200:聊天窗游戏消息
isWhiteUser: number, //是否为白名单用户,1是,0否
gameType:number, //游戏类型 (手Q7.6.5及以上支持) 0: 普通游戏 1:红包游戏
model:string, //具体机型 (手Q7.6.3及以上支持) 形如 "PRO 6 Plus"
sex:number , //性别 1 男 2 女
devPlatform?: string, //仅在开发环境下可以,手q环境下无该字段
}
/**
* 获取系统信息
*/
function getSystemInfoSync() : SystemInfo;
interface InnerViewOption
{
orientation?:number, //1(默认,竖屏)2.横屏(home键在左边)3.横屏 (home键在右边)
openId?:string, //默认是自己
transparent?: boolean, //是否透明
url:string
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/umosun/FYGameFramework_CocosCreator.git
git@gitee.com:umosun/FYGameFramework_CocosCreator.git
umosun
FYGameFramework_CocosCreator
FYGameFramework_CocosCreator
master

搜索帮助