一。基本步骤

注意:pomelo-cocos2d-jsb 没实用 https://github.com/NetEase/pomelo-cocos2d-jsb,原因这个不是最新版,另外,component根文件没有

pomelo-cocos2d-jsb 用的是 https://github.com/NetEase/chatofpomelo-websocket/tree/master/web-server/public/js/lib

这个是最新版,另外能够更新

详细步骤:

1.1下载zip文件

wget https://github.com/NetEase/chatofpomelo-websocket/archive/master.zip

1.2 拷贝lib文件夹下全部文件及文件夹到src/pomelo-cocos2d-jsb文件夹下

1.3 更新文件

component install -f && component build -v

1.4 建立index.js文件

文件内容为:

var window = window || {};

var module = module || {};

module.exports = {};



var console = cc;

console.error = cc.log;





var setTimeout = function(fn, interval) {

var instance = cc.Director.getInstance();

var scene = instance.getRunningScene();





instance.getScheduler().

scheduleCallbackForTarget(scene, fn, interval, 1, 0, false);

return scene;

}





var clearTimeout = function(target) {

var instance = cc.Director.getInstance();

instance.getScheduler().unscheduleAllCallbacksForTarget(target);

}





window.setTimeout = setTimeout;

window.clearTimeout = clearTimeout;





require('src/pomelo-cocos2d-jsb/components/component-emitter/index.js');





window.EventEmitter = Emitter;





require('src/pomelo-cocos2d-jsb/components/netease-pomelo-protocol/lib/protocol.js');





require('src/pomelo-cocos2d-jsb/components/pomelonode-pomelo-protobuf/lib/client/protobuf.js');





require('src/pomelo-cocos2d-jsb/components/pomelonode-pomelo-jsclient-websocket/lib/pomelo-client.js');

看一下详细的文件夹结构

二。native 平台 相关配置:

2.1  改动project.json文件,添加"src/pomelo-cocos2d-jsb/index.js"

注意,这个文件的调用顺序也非常重要,app.js是要用到“src/pomelo-cocos2d-jsb/index.js”的

2.2 看看app.js里面怎么调用的

var pomelo = window.pomelo;

var HelloWorldLayer = cc.Layer.extend({

sprite:null,

ctor:function () {

//////////////////////////////

// 1. super init first

this._super();

this.connect2svr();

/////////////////////////////

// 2. add a menu item with "X" image, which is clicked to quit the program

//    you may modify it.

// ask director the window size

var size = cc.director.getWinSize();

// add a "close" icon to exit the progress. it's an autorelease object

var closeItem = cc.MenuItemImage.create(

res.CloseNormal_png,

res.CloseSelected_png,

function () {

cc.log("Menu is clicked!");

}, this);

closeItem.attr({

x: size.width - 20,

y: 20,

anchorX: 0.5,

anchorY: 0.5

});

var menu = cc.Menu.create(closeItem);

menu.x = 0;

menu.y = 0;

this.addChild(menu,
1);

/////////////////////////////

// 3. add your codes below...

// add a label shows "Hello World"

// create and initialize a label

var helloLabel = cc.LabelTTF.create("Hello World","Arial",38);

// position the label on the center of the screen

helloLabel.x = size.width / 2;

helloLabel.y = 0;

// add the label as a child to this layer

this.addChild(helloLabel,
5);

// add "HelloWorld" splash screen"

this.sprite = cc.Sprite.create(res.HelloWorld_png);

//this.sprite = cc.Sprite.create(grassPNG);

this.sprite.attr({

x: size.width / 2,

y: size.height / 2,

scale: 0.5,

rotation: 180

});

this.addChild(this.sprite,0);

var rotateToA = cc.RotateTo.create(2,0);

var scaleToA = cc.ScaleTo.create(2,1,1);

this.sprite.runAction(cc.Sequence.create(rotateToA, scaleToA));

helloLabel.runAction(cc.Spawn.create(cc.MoveBy.create(2.5, cc.p(0, size.height -40)),cc.TintTo.create(2.5,255,125,0)));

return true;

},

connect2svr: function() {

pomelo.init({

host: '127.0.0.1',

port: 3014,

log: true

}, function() {

var route ='gate.gateHandler.queryEntry';

pomelo.request(route, {}, function(data) {

pomelo.disconnect();

pomelo.init({

host: data.host,

port: data.port,

log: true

}, function() {});

});

});

},

loginSvr: function() {

var self = this;

var gPlayerName = 'name';

var password = 'pass';

password = md5(password);

//self.mTips.setString('');

route = "connector.entryHandler.loginSvr";

pomelo.request(route, {

playerName: gPlayerName,

password: password

}, function(data) {

if(data.ret) {

//gPlayerId = data.playerId;

//var nextScene = cc.Scene.create();

//gGameLobbyLayer = new GameLobbyLayer();

//nextScene.addChild(gGameLobbyLayer);

//cc.Director.getInstance().replaceScene(cc.TransitionSlideInR.create(1, nextScene));

} else {

//self.mTips.setString('password错误');

}

});

}

});

var HelloWorldScene = cc.Scene.extend({

onEnter:function () {

this._super();

var layer = new HelloWorldLayer();

this.addChild(layer);

}

});

2.3 看看执行的日志

三。web的配置

3.1  改动project.json文件,去掉 "src/pomelo-cocos2d-jsb/index.js" 这行

3.2  改动根文件夹下的index.html 文件

改为

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title>Cocos2d-html5 Hello World test</title>

    <link rel="icon" type="image/GIF" href="res/favicon.ico"/>

    <meta name="apple-mobile-web-app-capable" content="yes"/>

    <meta name="full-screen" content="yes"/>

    <meta name="screen-orientation" content="portrait"/>

    <meta name="x5-fullscreen" content="true"/>

    <meta name="360-fullscreen" content="true"/>

    <style>

        body, canvas, div {

            -moz-user-select: none;

            -webkit-user-select: none;

            -ms-user-select: none;

            -khtml-user-select: none;

            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

        }

    </style>

</head>

<body style="padding:0; margin: 0; background: #000;">

<canvas id="gameCanvas" width="800" height="450"></canvas>

<script src="frameworks/cocos2d-html5/CCBoot.js"></script>

<script src="src/pomelo-cocos2d-jsb/build/build.js"></script>

<script type="text/javascript">

    require('boot');

</script>

<script src="main.js"></script>

</body>

注意: script的调用顺序很重要,不能变动,由于有之间的调用顺序关系

3.3 执行的效果

cocos2d-js-v3.0-rc0 下 pomelo-cocos2d-jsb native web 配置的更多相关文章

  1. Centos下堡垒机Jumpserver V3.0环境部署完整记录(2)-配置篇

    前面已经介绍了Jumpserver V3.0的安装,基于这篇安装文档,下面说下Jumpserver安装后的的功能使用: 一.jumpserver的启动 Jumpserver的启动和重启 [root@t ...

  2. Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先说一下为什么要转换,这是为了后面的A*寻路算法做准备.由于在 ...

  3. cocos2d js jsb XMLHttpRequest 中文乱码

    1.首先讲下怎样使用XMLHttpRequest 下面所说的是在cocos2d-x 2.2.2 或者 2.3 版本号中. 首先要明确cocos2d js事实上分两个版本号,一个是html5的版本号,另 ...

  4. cocos2d js ClippingNode 制作标题闪亮特效

    1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似 ...

  5. Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇

    由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅.几种常见的运维人员背黑锅场景:1)由 ...

  6. cocos2d js的一些tip

    cocos2d-js-v3.2-rc0 cc.director.end();//退出app cc.Application.getInstance().openURL("http://www. ...

  7. 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)

    Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering ...

  8. mac下搭建cocos2d-x2.2.1版本android编译环境教程

    首先我们先以引擎2.2.1为例子来新建一个TestJni的项目,来作为测试例. 创建方式如下: python create_project.py -project TestJni -package o ...

  9. 还学的动吗? 盘点下Vue.js 3.0.0 那些让人激动的功能

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://blog.bitsrc.io/vuejs-3-0-0-beta-features- ...

随机推荐

  1. Leetcode: Median of Two Sorted Arrays. java.

    There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted ...

  2. 黑马程序猿_Objective C 类与协议

    <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.& ...

  3. Java 通过 BufferReader 实现 文件 写入读取 示例

    package com.javatest.techzero.gui; import java.io.BufferedReader; import java.io.File; import java.i ...

  4. 单链表的插入删除操作(c++实现)

    下列代码实现的是单链表的按序插入.链表元素的删除.链表的输出 // mylink.h 代码 #ifndef MYLINK_H #define MYLINK_H #include<iostream ...

  5. 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)

     1  多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ...

  6. 使用高德地图API

    http://lbs.amap.com/smart/map/developer/mode/ 简单的附上一张图,其实能做得比这个更强大.

  7. Servlet的学习之Response响应对象(3)

    本篇来说明响应对象HttpServletResponse对象的最后一点内容. 首先来看响应对象控制浏览器定时刷新,在我的web应用[myservlet]中创建Servlet,在该Servlet中设置响 ...

  8. 高性能C++网络库libtnet实现:Connection

    Connection libtnet只支持IPv4 TCP Connection,之所以这么做都是为了使得实现尽可能的简单.我们主要在Connection类中封装了对tcp连接的操作. Connect ...

  9. response.sendRedirect 传递参数的问题

    response.sendRedirect是通过浏览器来做转向的. 假设在A.jsp页面设置request.setAttribute("username","admin& ...

  10. 【玩转cocos2d-x之四十】怎样在Cocos2d-x 3.0中使用opengl shader?

    有小伙伴提出了这个问题.事实上GLProgramCocos2d-x引擎自带了.全然能够直接拿来用. 先上图吧. 使用opengl前后的对照: watermark/2/text/aHR0cDovL2Js ...