在js中向场景中加入层并开启触摸

// 新开或切换到另外一个scene,参数依次是 新controller的构造函数,要加载的ccbi文件名
tm.openSceneTest = function (ctor, ccbiFileName, parameter) {
    var director = cc.Director.getInstance();

    var scene = cc.Scene.create();

    firstcontroller = new ctor();
    firstcontroller.init(ccbiFileName, parameter);

    var getNode = firstcontroller.view.ccbRootNode;
    if (getNode)
        scene.addChild(getNode);
    var mylayer = new dn.testlayer();
    mylayer.init();
    scene.addChild(mylayer);
    tm.log(" addlayer success.");

    var runningScene = director.getRunningScene();
    if (runningScene === null)
        director.runWithScene(scene);
    else
        director.replaceScene(scene);
};

dn.testlayer = cc.Layer.extend({
    ctor:function() {
        this._super();
        cc.associateWithNative( this, cc.Layer );
        cc.registerTargetedDelegate(1, true, this);
    },
    init: function()
    {
        this._super();
        //var mysize = CC.Director.getInstance().getVisibleSize();
        //var Origin = CC.Director.getInstance().getVisibleOrigin();
        //var size = cc.Director.getInstance().getWinSize();
        dn.log(" init my testlayer");
        //if ( !cc.Layer.init() )
        //{
        //   return false;
        //}
        //this.onEnter();
        //this.setContentSize(mysize,1);

        return true;
    },
    onEnter: function()
    {
        this._super();
        //cc.Director.getInstance().getTouchDispatcher().addTargetedDelegate( this,0,false);
        //cc.registerTargetedDelegate(0, true, this);
        this._touchEnabled=true;
        //cc.Layer.onEnter();
    },
    setParentController: function(parentctrl)
    {
        this.parentController=parentctrl;
    },
    onTouchBegan: function(touch, event){
        dn.log("Room1Clicked:touch begin...");
        var pos = touch.getLocation();//获得触摸的UI坐标
        //var pos = cc.Director.getInstance().convertToGL(touchLocation);//转化为opengl坐标
        dn.log(pos.x +","+pos.y);

        offY = pos.y ;
        return true;
    },
    onTouchesEnded: function(touch, event){
        dn.log("Room1Clicked:touch move inside...");
    },
    onTouchMoved: function(touch,event)
    {
        dn.log("Room1Clicked:touch move inside...");
        var pos = touch.getLocation();//获得触摸的UI坐标
        //var pos = cc.Director.getInstance().convertToGL(touchLocation);//转化为opengl坐标
        var currentY = firstcontroller.CardTypeInfoCtrl.content_cardtypeinfo.getPositionY();
        //currentY = cc.Director.getInstance().convertToGL(currentY);//转化为opengl坐标
        dn.log(pos.x +","+pos.y+","+currentY.y);
        //if((pos.y - offY) >0) currentY+=10;
        //if((pos.y - offY) <0) currentY-=10;
        firstcontroller.CardTypeInfoCtrl.content_cardtypeinfo.setPositionY(pos.y - offY+ currentY);
        offY = pos.y;
        dn.log("Room1Clicked:touch move card...");
        //dn.TestCtrl.move(touchLocation.y);
        //var pos = CC.Director.sharedDirector().convertToGL(touchLocation);//转化为opengl坐标

        //this.content_cardtypeinfo.setPositionY(pos.y);//让精灵移动到该坐标

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值