用cocos2d-html5做的消除类游戏《英雄爱消除》(1)——系统主菜单(4)

来源:未知 责任编辑:责任编辑 发表时间:2015-01-01 13:14 点击:

p>    var layer = SysMenu.create();

p>    scene.addChild(layer);

p>    return scene;

p>};

p>复制代码

p>首先,在初始化方法里,我们把页面需要的元素添加进去。在这里,我们是先加载了页面动画logo所需要的纹理集:

p> this._logoFrameCache = cc.SpriteFrameCache.getInstance();

p> this._logoFrameCache.addSpriteFrames(s_textureBigImage_plist);

p>再次是添加背景图片,使用cc.Sprite.create(s_b01);来创建背景的sprite,然后设置锚点并把它添加到Layer:

p> 

p>var sp = cc.Sprite.create(s_b01);

p>sp.setAnchorPoint(cc.p(0,0));//设置锚点左下角

p>this.addChild(sp, 0, 1);//addChild(cocos2d::CCNode *child, int zOrder, int tag);

p>            // 其中child参数为将要添加的节点。对于场景而言。添加的节点就是层,先添加的层会被置于后添加的层之下。

p>            // 如果想要指定先后次顺,可以使用不同的zOrder,zOrder代表该节点下元素的先后次序,值越大显示越靠上。

p>            // 默认值是0.tag是元素的标识号码,如果子节点设置了tag值,就可以在它的父节点中利用tag值找到它

p>接着是添加菜单按钮组,使用cc.MenuItemSprite.create创建各个菜单,这里需要添加他们各自的监听方法,

p> 

p>//newGame菜单

p> var newGame = cc.MenuItemSprite.create(newGameNormal, newGameSelected, newGameDisabled, function () {

p>                this.onButtonEffect();

p>                flareEffect(this, this, this.onNewGame);

p>            }.bind(this));

p>使用cc.Menu.create创建菜单组把它们添加进去,之后添加到Layer,设置布局位置。

p> 

p> //系统菜单

p>var menu = cc.Menu.create(newGame, gameSettings, about);

p>menu.alignItemsVerticallyWithPadding(10);

p>this.addChild(menu, 1, 2);

p>menu.setPosition(winSize.width / 2 , winSize.height / 2 - 80);

p>最后一个点就是logo动画了,先创建logo,把它添加到Layer,之后创建动画,并让logo执行动画。

p> 

p>复制代码

p>//logo动画

p>this.bigImgLen = LLK.CONTAINER.BIGIMAGES.length;

p>this._logo = cc.Sprite.createWithSpriteFrameName(LLK.CONTAINER.BIGIMAGES[Math.floor( Math.random()*this.bigImgLen)]);

p>this._logo.setAnchorPoint(cc.p(0, 0));

p>this._logo.setPosition(winSize.width/2 -100, 300);

p>this.addChild(this._logo, 10, 1);

p>var animFrames = []; //      将所有帧存入一个数组

p>for (var i=0;i<this.bigImgLen;i++) {

p>   //采用循环添加动画的每一帧

p>  var frame =this._logoFrameCache.getSpriteFrame(LLK.CONTAINER.BIGIMAGES[i]);

p>  if (frame) {

p>     animFrames.push(frame);

p>  }

p>}

p>//        创建动画,设置播放间隔

p>var animation = cc.Animation.create(animFrames, 1);

p>// animation.setDelayPerUnit(0.1);

p>//设置动画播放完成是否保持在第一帧,true为保持在第一帧,false为保持在最后一帧

p>//animation.setRestoreOriginalFrame(false);

p> this._logo.runAction(cc.RepeatForever.create(cc.Animate.create(animation)));
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1