首先定义一个 poker类:
var Poker = cc.Sprite.extend({ bSelect:false,//是否已选 bDianJi:true,//是否能点击 huaSe:5,//花色:黑0,红1,梅2,方3,王4,无效5 num:0,//牌值 number:0,//总牌值:1-54 local_x:0,//扑克的x值 local_y:0,//扑克y值,点击扑克时做弹出收回操作 ctor:function(menu,Num,x,y){ this._super(); this.number = Num; if(Num<1 || Num>54){cc.log("input poker number is error!");} this.local_x = x; this.local_y = y; if(Num==1 || Num ==2){ this.huaSe = 4; this.num = Num; }else { this.huaSe = Math.floor(Num/16); this.num = Num%13; } var picName1 = "res/"+ Num + ".jpg"; var menuSprite = cc.MenuItemImage.create(picName1,picName1,this.callback,this); menuSprite.setAnchorPoint(AnchorPoint.CENTER_MIDDLE); menu = cc.Menu.create(menuSprite); menu.setAnchorPoint(AnchorPoint.CENTER_MIDDLE); menu.setPosition(cc.p(x,y)); menu.setVisible(true); menu.retain(); m_pk[Num] = menu; m_this.addChild(menu,20); return this; }, onEnter:function(){ this._super(); }, callback:function(){ if(this.bDianji == true){ cc.log("HuaSe="+this.huaSe +",Num="+this.num+"Number="+this.number); m_curPK = this.number; if(this.bSelect==false){ this.pokerLuTou(); }else{ this.pokerSuoTou(); } }else{ cc.log('can not click!'); } }, pokerLuTou:function(){ cc.log('LuTou.x='+this.local_x+',y='+(this.local_y+PKUpLength)); this.bSelect = true; m_pk[this.number].setPosition(cc.p(m_pk[this.number].x,m_pk[this.number].y+PKUpLength)); }, pokerSuoTou:function(){ cc.log('SuoTou.x='+this.local_x+',y='+this.local_y-PKUpLength); this.bSelect = false; m_pk[this.number].setPosition(cc.p(m_pk[this.number].x,m_pk[this.number].y-PKUpLength)); } }); 调用者:
for(var i=1; i<=54;i++){ m_poker[i] = new Poker(m_pk[i],i,size.width/10+PKJianJu*(i),size.height/4*3); } 如此,便能显示扑克,并且响应点击事件,弹出,缩回扑克 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|