纸牌可以上下滑动了,但还有BUG

纸牌可以上下滑动了,但还有BUG,第1张

@ccclass export default class MainScene extends cc.Component {
 private selectedNodeIndex: number = -1;  private isDoingAction: boolean = false;  private kd: boolean = false;  private ku: boolean = false;  start() {  for (let i = 0; i   13; i++) {  const sprite = this.node.children[i];  sprite.setPosition(0, 0);  console.log(sprite.name +  .png的SiblingIndex=  + sprite.getSiblingIndex());  sprite.on( touchmove , this.onCardTouchMove, this);  }  }  private onCardTouchMove(event: cc.Event.EventTouch) {  // 如果正在执行动作,则直接返回,避免重复执行  if (this.isDoingAction) {  return;  }  // 获取当前触摸的卡牌节点和该节点在父节点中的索引位置  const node = event.target;  const index = node.getSiblingIndex();
 // 获取触摸点相对于上一次触摸点的位移量  const delta = event.touch.getDelta();  // 如果位移量是向上的  if (delta.y   5) {  console.log( 向上滑动。  if (this.kd === true) {  for (let i = 1; i  = 13; i++) {  this.node.getChildByName(i.toString()).setSiblingIndex(i-1);  }  this.kd = false;  }
 // 获取网格节点和所有子节点  const grid = cc.find( Canvas/grid  const children = grid.children;  console.log( 点中的图片名为  + node.name +  ,getSiblingIndex=  + index);  // // 遍历子节点,将其他节点的透明度重置  for (let i = 0; i   children.length; i++) {  const child = children[i];  if (i != index) { child.opacity = 255; }  }  // 将节点设置到最上层,并将位置重置  node.setPosition(cc.v2(0, 0));  node.opacity = 255;  node.setSiblingIndex(0);  // 设置标记为结束执行动作  this.isDoingAction = false;  })  ));  }  // 如果位移量是向下的  if (delta.y   0) {  console.log( 向下滑动了。    this.isDoingAction = true;  // var iindex: number = parseInt(node.name) - 1;
 for (let i = 1; i  = 13; i++) {  this.node.getChildByName(i.toString()).setSiblingIndex(13 - i);  }  this.kd = true;  }  // 运行一系列动作,包括上移和淡出  node.runAction(cc.sequence(  cc.spawn(  cc.moveBy(0.1, cc.v2(0, -300)), cc.moveBy(0.1, cc.v2(0, -100))  // cc.fadeOut(0.1)  ),  // 执行完成后的回调函数  cc.callFunc(() =  {  // 遍历子节点,将其他节点的透明度重置  for (let i = 0; i   this.node.children.length; i++) {  const child = this.node.children[i];  if (i != index) { child.opacity = 255; }  }  node.setPosition(cc.v2(0, 0));  node.opacity = 0;  node.setSiblingIndex(0);  this.isDoingAction = false;  })  ));  }  } }

当前脚本绑定到带有13张图片的节点上即可。

BUG:当在中途改变滑动方向时,牌序被重置了,没有从当前位置操作下一步对象。


本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 纸牌可以上下滑动了,但还有BUG

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情