博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kbengine_js_plugins
阅读量:6712 次
发布时间:2019-06-25

本文共 6938 字,大约阅读时间需要 23 分钟。

改动(2017/7/6)

由于Cocos Creator使用严格模式的js,而原本的kbengine_js_plugins是非严格模式的,因此为了兼容和方便Cocos Creator开发的同学,本人对此脚本做了相应的修改,并共享出来。1:修改了继承的实现方式(旧版本使用callee,严格模式下不能用callee)2:变量名的定义(严格模式下,全局变量需要显式声明,并且为了防止全局命名污染,因此在变量名前加入了var声明为局部变量)3:导出KBEngine对象4:集成GameObject在该插件中

在Cocos Creator使用此脚本的步骤(2017/7/6)

1:复制此脚本到Creator新建的工程的脚本目录下(不要使用插件模式),请参考cocos官方文档:http://www.cocos.com/docs/creator/scripting/plugin-scripts.htmlhttp://www.cocos.com/docs/creator/scripting/third-party-module.html2:然后可以定义自己的实体类文件例如,Account.js var KBEngine = require("kbengine");//使用require引入KBEngine/*-----------------------------------------------------------------------------------------												entity-----------------------------------------------------------------------------------------*/KBEngine.Account = KBEngine.GameObject.extend({	__init__ : function()	{		this._super();		KBEngine.Event.fire("onLoginSuccessfully", KBEngine.app.entity_uuid, this.id, this);	},}3:或者在cocos creator的组件类里面使用,例如:ClientApp.jsvar KBEngine = require("kbengine");//使用require引入KBEnginecc.Class({	extends: cc.Component,	properties: {		ip : "127.0.0.1",		port:"20013",	},	// use this for initialization	onLoad: function () {		var args = new KBEngine.KBEngineArgs();		args.ip = this.ip;		args.port = this.port;		KBEngine.create(args);	},});

Usage

1: Create KBEngine	// Initialization	var args = new KBEngine.KBEngineArgs();		args.ip = "127.0.0.1";	args.port = 20013;	KBEngine.create(args);2: Implment the KBE defined entity (including the client part)	See: kbengine\kbengine_demos_assets\scripts\entities.xml,hasClient="true" need to implment		
KBEngine.Account = KBEngine.Entity.extend( { // entity initialization __init__ : function() { this._super(); } } Call entity server method entity.baseCall("base_func", 1, "arg2", "argN") entity.cellCall("cell_func", 1, "arg2", "argN")3: Monitor KBE-plugins event For example: var StartSceneLayer = Class.extend({ { installEvents : function() { KBEngine.Event.register("onConnectionState", this, "onConnectionState"); } onConnectionState : function(success) { // KBE-plugins event fired } }4: Fire events to the KBE-plugins For example: KBEngine.Event.fire("login", this.usernamebox.getString(), this.passwordbox.getString(), "kbengine_cocos2d_js_demo");

KBE-Plugin fire-out events(KBE => Unity):

Entity events:	onEnterWorld		Description: 			Entity enter the client-world.		Event-datas: 			Enity				onLeaveWorld		Description: 			Entity leave the client-world.		Event-datas: 			Enity	onEnterSpace		Description: 			Player enter the new space.		Event-datas: 			Enity	onLeaveSpace		Description: 			Player enter the space.		Event-datas: 			Enity	onCreateAccountResult		Description: 			Create account feedback results.		Event-datas: 			uint16: retcode				http://kbengine.org/docs/configuration/server_errors.html			bytes: datas				If you use third-party account system, the system may fill some of the third-party additional datas.	onControlled		Description: 			Triggered when the entity is controlled or out of control.		Event-datas: 			Enity			bool: isControlled	onLoseControlledEntity		Description: 			Lose controlled entity.		Event-datas: 			Enity	set_position		Description: 			Sets the current position of the entity.		Event-datas: 			Enity	set_direction		Description: 			Sets the current direction of the entity.		Event-datas: 			Enity	updatePosition		Description: 			The entity position is updated, you can smooth the moving entity to new location.		Event-datas: 			EnityProtocol events:	onVersionNotMatch		Description: 			Engine version mismatch.		Event-datas: 			string: clientVersion			string: serverVersion	onScriptVersionNotMatch		Description: 			script version mismatch.		Event-datas: 			string: clientScriptVersion			string: serverScriptVersion	Loginapp_importClientMessages		Description: 			Importing the message protocol for loginapp and client.		Event-datas: 			No datas.	Baseapp_importClientMessages		Description: 			Importing the message protocol for baseapp and client.		Event-datas: 			No datas.	Baseapp_importClientEntityDef		Description: 			Protocol description for importing entities.		Event-datas: 			No datas.Login and Logout status:	onLoginBaseapp		Description: 			Login to baseapp.		Event-datas: 			No datas.	onReloginBaseapp		Description: 			Relogin to baseapp.		Event-datas: 			No datas.	onKicked		Description: 			Kicked of the current server.		Event-datas: 			uint16: retcode				http://kbengine.org/docs/configuration/server_errors.html	onLoginFailed		Description: 			Login failed.		Event-datas: 			uint16: retcode				http://kbengine.org/docs/configuration/server_errors.html	onLoginBaseappFailed		Description: 			Login baseapp failed.		Event-datas: 			uint16: retcode				http://kbengine.org/docs/configuration/server_errors.html	onReloginBaseappFailed		Description: 			Relogin baseapp failed.		Event-datas: 			uint16: retcode				http://kbengine.org/docs/configuration/server_errors.html	onReloginBaseappSuccessfully		Description: 			Relogin baseapp success.		Event-datas: 			No datas.Space events:	addSpaceGeometryMapping		Description: 			The current space is specified by the geometry mapping.			Popular said is to load the specified Map Resources.		Event-datas: 			string: resPath	onSetSpaceData		Description: 			Server spaceData set data.		Event-datas: 			int32: spaceID			string: key			string value	onDelSpaceData		Description: 			Server spaceData delete data.		Event-datas: 			int32: spaceID			string: keyNetwork events:	onConnectionState		Description: 			Status of connection server.		Event-datas: 			bool: success or fail	onDisconnected		Description: 			Status of connection server.		Event-datas: 			No datas.

KBE-Plugin fire-in events(Unity => KBE):

createAccount		Description: 			Create new account.		Event-datas: 			string: accountName			string: password			bytes: datas				Datas by user defined.				Data will be recorded into the KBE account database, you can access the datas through the script layer.				If you use third-party account system, datas will be submitted to the third-party system.			login		Description: 			Login to server.		Event-datas: 			string: accountName			string: password			bytes: datas				Datas by user defined.				Data will be recorded into the KBE account database, you can access the datas through the script layer.				If you use third-party account system, datas will be submitted to the third-party system.reloginBaseapp		Description: 			Relogin to baseapp.		Event-datas: 			No datas.resetPassword		Description: 			Reset password.		Event-datas: 			string: accountNamenewPassword		Description: 			Request to set up a new password for the account.			Note: account must be online		Event-datas: 			string: old_password			string: new_passwordbindAccountEmail		Description: 			Request server binding account Email.			Note: account must be online		Event-datas: 			string: emailAddress 开源地址: https://github.com/scanor/kbengine_js_plugins

转载地址:http://viilo.baihongyu.com/

你可能感兴趣的文章
delphi2010中onkeydown and onkeypress
查看>>
ASP.NET+Atlas创建客户端Web应用程序
查看>>
Silverlight DataGrid行背景分组着色
查看>>
编译更小的Golang程序
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
centos7中的lamp的快速搭建(三者分离)
查看>>
IT职场人生系列之十七:入职(高手篇)
查看>>
Asterisk与LYNC联机
查看>>
如何保证Web应用程序安全性?(2)
查看>>
word中文字贴表格线方法
查看>>
【推荐】在RedHat Server 5.4上安装YUM【利用网易免费yum源,配置和更新yum】
查看>>
linux 终端 快捷键
查看>>
博客园美化-打赏代码
查看>>
OA办公软件的应用技巧
查看>>
eclipse下C/C++开发调试环境搭建以及注意点
查看>>
EIGRP非等价负载均衡
查看>>
IOS5开发-http get/post调用mvc4 webapi互操作(图片上传)
查看>>
关闭ecplise自动编译!!
查看>>
LinkedList
查看>>