coco2d-Js程序设计


1.4:工程目录结构

创建成功之后就会在目标目录下发现ProjectName文件夹,这个工程将可以被发布到所有支持的平台。新创建工程的目录结构与引擎包有一些区别,下面是详细的列表介绍。res文件夹存放资源文件,src文件是主要的程序代码,

其中app. js是实现游戏主场景的JavaScript文件,

resource.js定义资源对应的变量。

config. js保存模拟器运行配置信息,创建工程时生成; project. json时项目的配置信息;index. htmI是Web工程的首页;main. js是与首页对应的js文件。


var HelloWorldLayer = cc.Layer.extend({
    sprite:null,//定义一个精灵属性
    ctor:function () {//构造方法
 
        this._super();初始化父类
      //获取屏幕大小
        var size = cc.winSize;
字体
        var helloLabel = new cc.LabelTTF("Hello World", "Arial", 38);
        helloLabel.x = size.width / 2;
        helloLabel.y = size.height / 2 + 200;
        this.addChild(helloLabel, 5);
 时间调度器
        this.schedule(
        function(){
           console.log("************************")
        },3);


    精灵
        this.sprite = new cc.Sprite(res.HelloWorld_png);
        this.sprite.attr({
            x: size.width / 2,
            y: size.height / 2
                          });
        this.addChild(this.sprite, 0);
        return true;
    }
});

var HelloWorldScene = cc.Scene.extend({
    onEnter:function ()

 {

        this._super();
        var layer = new HelloWorldLayer();
        // var layer = new BallLayer();
        //var layer = new ThisTestLayer();
        //var layer = new MouseLayer();
        //var layer = new socketioLayer();
        // var layer = new MenuItemLayer()
        this.addChild(layer);

    },
    onExit:function  () 
    {
   cc.eventManager.removeListeners(cc.EventListener.TOUCH_ONE_BY_ONE)
        cc.eventManager.removeListeners(cc.EventListener.TOUCH_ALL_AT_ONCE)
        cc.eventManager.removeListeners(cc.EventListener.KEYBOARD)
        cc.log("onExit")
        this._super()
    }
});

var SecondScene = cc.Scene.extend({
    onEnter: function () {
        this._super();
        var layer = new cc.LayerGradient(cc.color(255,0,0),cc.color(0,0,255));
        setTimeout(function(){
            cc.director.runScene(new cc.TransitionProgressHorizontal(2,new HelloWorldScene()) );
            //cc.director.pushScene(new SecondScene());
        },3000);
        this.addChild(layer);
    }
});


//进度条
//         var tiao = new cc.ProgressTimer(new cc.Sprite(res.JinDuTiao))
//         tiao.setType(cc.ProgressTimer.TYPE_BAR)
//         tiao.setMidpoint(cc.p(0,0.5))
//         tiao.setBarChangeRate(cc.p(1,0))
//         tiao.setPosition(cc.p(size.width/2,size.height/2))
//         this.addChild(tiao)

//         var action = new cc.ProgressFromTo(3,0,100)
//         var fun = new cc.callFunc(function () {
//             cc.director.runScene(new cc.TransitionZoomFlipAngular(2,new SecondScene()));
//         },this)
//         var seq = new cc.sequence(action,fun)
//         tiao.runAction(seq)
setTimeout(function(){
           ball.stopAction(spawn);
           ball.resume();

        },4000);

等候4秒才执行

cocos2d-js callFunc传参

触摸事件https://blog.csdn.net/w_han__/article/details/54581698

事件分发机制

main.js  加

var  trace = function () {

    cc.log(Array.prototype.join.call(arguments,", "));
};





//鼠标
        //if ('mouse' in cc.sys.capabilities)
        //{
        //    cc.eventManager.addListener({
        //        event:cc.EventListener.MOUSE,
        //        onMouseDown:function(event){
        //            var pos = event.getLocation();
        //            var target = event.getCurrentTarget();
        //            if(event.getButton() == cc.EventMouse.BUTTON_RIGHT)
        //            {
        //                trace("onRightMouseDown at: " + pos.x + " " + pos.y);
        //            }
        //            else if(event.getButton() == cc.EventMouse.BUTTON_LEFT)
        //            {
        //                trace("onLeftMouseDown at: " + pos.x + " " + pos.y);
        //            }
        //        },
        //        onMouseMove: function (event) {
        //            var pos = event.getLocation();
        //            var target = event.getCurrentTarget();
        //            trace("onMouseMOve at: " + pos.x + " " + pos.y);
        //        },
        //        onMouseUp: function (event) {
        //            var pos = event.getLocation();
        //            var target = event.getCurrentTarget();
        //            trace("onMouseUp at: " + pos.x + " " + pos.y);
        //        }
        //    },this);
        //}
        //else
        //{
        //    cc.log("MOUSE Not supported");
        //}


        ////单点触摸
        //if('touches' in cc.sys.capabilities)
        //{
        //    cc.eventManager.addListener({
        //        event:cc.EventListener.TOUCH_ONE_BY_ONE,
        //        onTouchBegan:this.onTouchBegan,
        //        onTouchMoved:this.onTouchMoved,
        //        onTouchEnded:this.onTouchEnded,
        //        onTouchCancelled:this.onTouchCancelled
        //    },this);
        //}
        //else
        //{
        //    trace("TOUCH_ONE_BY_ONE test is not supported on destop");
        //}




        /*   多点触摸    */
        //var toucheslistener = cc.EventListener.create({
        //    event:cc.EventListener.TOUCH_ALL_AT_ONCE,
        //    // swallowTouches:true,
        //    onTouchesBegan : function  (touches,event) {
        //        cc.log("Ontouches_BEGAN")
        //    },
        //    onTouchesMoved : function  (touches,event) {
        //        cc.log("Ontouches_MOVED")
        //    },
        //    onTouchesEnded : function  (touches,event) {
        //        cc.log("Ontouches_ENDED")
        //    },
        //    onTouchesCancelled : function  (touches,event) {
        //        cc.log("Ontouches_CANCELLED")
        //    }
        //});
        // cc.eventManager.addListener(toucheslistener,this);  //注册多点触摸


键盘
        //if('keyboard' in cc.sys.capabilities)
        //{
        //    cc.eventManager.addListener({
        //        event:cc.EventListener.KEYBOARD,
        //        onKeyReleased: function (keycode, event) {
        //            if(keycode == cc.KEY.a)
        //            {
        //                cc.log("往左走. keycode:" + keycode);
        //            }
        //            else if (keycode == cc.KEY.d) {
        //                cc.log("往右走. keycode:" + keycode);
        //            }
        //            else if (keycode == cc.KEY.w) {
        //                cc.log("跳起来. keycode:" + keycode);
        //            }
        //            else if (keycode == cc.KEY.s) {
        //                cc.log("蹲下. keycode:" + keycode);
        //            }
        //            else if (keycode == cc.KEY.p) {
        //                    cc.log("停止. keycode:" + keycode);
        //                    cc.director.end();
        //            }
        //        }
        //    },this);
        //}
        //else {
        //    cc.log("KEYBOARD Not supported");
        //}

return true;
    },后写


onTouchBegan:function(touch,event){
        trace("onTouchBegan");
        return true;
    },
    onTouchMoved:function(touch,event){
        trace("onTouchMoved");
    },
    onTouchEnded:function(touch,event){
        trace("onTouchEnded");
    },
    onTouchCancelled:function(touch,event){
        trace("onTouchCancelled");
    },



猜你喜欢

转载自blog.csdn.net/qq_41939248/article/details/80328192