cocos2d-x js与Java互调

cocos2d-x js与Java互调

frameworks\runtime-src\proj.android\src\org\cocos2dx\javascript的文件夹下新建JStest.java

package org.cocos2dx.javascript;
import java.util.logging.Logger;
public class JStest {

    public static void hello(String msg){
        Logger log = Logger.getLogger("result"); 
                log.info(msg); 
    }

    public static int sum(int a){
        return a + 2;
    }

}

因为cocos 封装好了,一层胶水层,直接调用就可以了

在JS中的调用

jsb.reflection.callStaticMethod("org/cocos2dx/javascript/JStest", "hello", "(Ljava/lang/String;)V", "this is a message from js");
var result = jsb.reflection.callStaticMethod("org/cocos2dx/javascript/JStest", "sum", "(I)I", 3);

cocos-js toast代码:转载的,原地址:点击打开链接

新建Toast.js

var ToastLayer = cc.Layer.extend({
  contentLabel:null,
  ctor:function (content) {
    this._super();
    var size = cc.winSize;

    this.contentLabel = new cc.LabelTTF(content, "Arial", 23);
    this.contentLabel.setColor(cc.color(255,0, 0));
    this.contentLabel.setAnchorPoint(0,0);
    this.contentLabel.setPosition(80, 100);
    this.contentLabel.setDimensions(cc.size(860,70));
    this.contentLabel.textAlign = cc.TEXT_ALIGNMENT_CENTER;
    this.contentLabel.verticalAlign = cc.VERTICAL_TEXT_ALIGNMENT_CENTER;
    this.addChild(this.contentLabel, 1);
    this.setCascadeOpacityEnabled(true);
  },
  //设置Toast显示内容
  setContent:function(content) {
    this.contentLabel.setString(content);
  },
  //设置Toast显示时间,包括显示持续时间和淡出持续时间
  show:function(delay, sec) {
    var delayOut = delay || 1.5;
    var timeOut = sec || 0.5;
    this.setOpacity(255);
    this.runAction(cc.sequence(cc.delayTime(delayOut), cc.fadeOut(timeOut)));
  }
});

引用代码:

//新建Layer,添加到场景(Scene)中
var toastLayer = new ToastLayer("Welcome to Toast");
toastLayer.setOpacity(0); //初始设置Toast层不显示
this.addChild(toastLayer);

//调用Toast类
//设置Toast显示内容
toastLayer.setContent("显示内容");
//显示Toast
toastLayer.show();

cocos-js 进度条代码:

var to1 = cc.ProgressTo(0.01,100);
            var progressCooling = new cc.ProgressTimer(cc.Sprite(res.progress_jpg));  
            progressCooling.setType(cc.ProgressTimer.TYPE_BAR);

           // progressCooling.setPercentage(0);  // 回复到0  
            progressCooling.x = cc.winSize.width / 2;
            progressCooling.y = cc.winSize.height / 2 - 200;
          progressCooling.setVisible(true);
          progressCooling.runAction(cc.RepeatForever(to1));  
          this.addChild(progressCooling, 5); 

cocos-js 创建json代码:

 将对象转换为json字符串:  JSON.stringify 将json字符串转为对象:JSON.parse 
var s={"id":2}; var params = JSON.stringify(s);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值