CVP认证学习笔记--李天宇026对数组的使用

CVP认证学习笔记--李天宇026对数组的使用,第1张

概述本节主要通过对数组的使用,实现了节点的添加和删除,因为是在javascript的语法基础上进行了升华,所以不是很难。下面是本节的内容: 首先先创建一个数组用来存放相关节点。往数组的末尾添加元素用的是push方法。在最前边添加元素用的是unshift方法,这个方法会返回一个新长度。删除最后边的元素用的是pop方法。删除指定位置后的几个元素用的是splice(x,y);第一个参数代表下标,第二个元素代

本节主要通过对数组的使用,实现了节点的添加和删除,因为是在@H_301_1@JavaScript的语法基础上进行了升华,所以不是很难。下面是本节的内容:

首先先创建一个数组用来存放相关节点。往数组的末尾添加元素用的是@H_301_1@push方法。在最前边添加元素用的是@H_301_1@unshift方法,这个方法会返回一个新长度。删除最后边的元素用的是@H_301_1@pop方法。删除指定位置后的几个元素用的是@H_301_1@splice(x,y);第一个参数代表下标,第二个元素代表的是后边的几个元素。具体代码如下:

var allnpc = new Array();

var count = 0;

var HelloWorldLayer = cc.Layer.extend({

sprite:null,

ctor:function () {

this._super();

var size = cc.winSize;

var item1=new cc.MenuItemFont("添加元素@H_301_1@1",this.callback,this);

var item2=new cc.MenuItemFont("添加元素@H_301_1@2",this);

var item3=new cc.MenuItemFont("删除元素@H_301_1@",this);

var item4=new cc.MenuItemFont("删除元素@H_301_1@2",this);

var item5=new cc.MenuItemFont("删除元素@H_301_1@3",this);

var menu = new cc.Menu(item1,item2,item3,item4,item5);

this.addChild(menu,100);

var show = new cc.LabelTTF("共有@H_301_1@0个元素@H_301_1@","黑体@H_301_1@",30);

this.addChild(show,0);

show.setTag(100);

show.setposition(size.wIDth/2,size.height/2);

//本节作业:

//本章介绍了数组的使用

//通过数组可以动态管理一组对象

//作业要求

//将这@H_301_1@5个按钮对应于添加一个@H_301_1@Node后将@H_301_1@node显示

//这是第@H_301_1@N个节点

//当删除某个@H_301_1@Node后,将这个@H_301_1@Node从屏幕移除

item1.y=200;

item2.y=160;

item3.y=120;

item4.y=80;

item5.y=40;

item1.setTag(11);

item2.setTag(12);

item3.setTag(13);

item4.setTag(14);

item5.setTag(15);

return true;

},

callback: function (obj) {

var newobj = new cc.Sprite(res.logo_png);

newobj.tag = allnpc.length+1;

switch(obj.getTag()){

case 11:

//最后添加

allnpc.push(newobj);

newobj.setposition(Math.random()*800,Math.random()*450);

this.addChild(newobj,0);

this.getChildByTag(100).setString("共有@H_301_1@"+newobj.tag+"个元素@H_301_1@");

break;

case 12:

//unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

// count++;

allnpc.unshift(newobj);

newobj.setposition(Math.random()*800,0);

this.getChildByTag(100).setString("共有@H_301_1@"+newobj.tag+"个元素@H_301_1@");

break;

case 13:

if(allnpc.length>0){

//count--;

var pop=allnpc.pop();

this.removeChild(pop);

this.getChildByTag(100).setString("共有@H_301_1@"+ allnpc.length+"个元素@H_301_1@");

break;

}

case 14:

var splice=allnpc.splice(1,2);

if(allnpc.length>0){

//count--;

for (var i=0;i<splice.length;i++) {

this.removeChild(splice[i]);

}

this.getChildByTag(100).setString("共有@H_301_1@"+allnpc.length+"个元素@H_301_1@");

break;

}

case 15:

Array.prototype.delete = function(index){

return this.splice(index-1,1);

}

var custom1=allnpc.delete(1);

if(allnpc.length>0){

//count--;

for (var i=0;i<custom1.length;i++) {

this.removeChild(custom1[i]);

}

this.getChildByTag(100).setString("共有@H_301_1@"+allnpc.length+"个元素@H_301_1@");

break;

}

}

}

});

var HelloWorldScene = cc.Scene.extend({

onEnter:function () {

this._super();

var layer = new HelloWorldLayer();

this.addChild(layer);

}

});

作业传送门:

http://www.cocoscvp.com/index.php?m=Admin&c=mylesson&a=code&project=8&stepid=28&num=1&cid=5

总结

以上是内存溢出为你收集整理的CVP认证学习笔记--李天宇026对数组的使用全部内容,希望文章能够帮你解决CVP认证学习笔记--李天宇026对数组的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1080527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存