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秒才执行
触摸事件https://blog.youkuaiyun.com/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");
},