Example #1
0
  @Override
  public boolean ccTouchesBegan(MotionEvent event) {

    if (GameController.getInstance().isStart()) {
      // 如果游戏开始,防止游戏点击事件冲突
      GameController.getInstance().handleTouch(event);
    } else {
      // 没有开始游戏
      if (CommonUtil.isClicke(event, this, choseContainer)) {
        boolean isDel = false; // 记录是否有删除条目
        // 点击的是已选容器
        for (ShowPlant plant : chosePlantList) {
          if (CommonUtil.isClicke(event, this, plant.getDefaultImg())) {
            CCMoveTo moveTo = CCMoveTo.action(0.3f, plant.getBgImg().getPosition());
            plant.getDefaultImg().runAction(moveTo);
            chosePlantList.remove(plant);
            isDel = true;
          }

          if (isDel) {
            // 有条目删除,后面的item依次向前顶一格
            plant
                .getDefaultImg()
                .setPosition(
                    plant.getDefaultImg().getPosition().x - 54,
                    plant.getDefaultImg().getPosition().y);
          }
        }
      } else {
        // 点击开始图片,开启游戏
        if (CommonUtil.isClicke(event, this, start)) {
          setIsTouchEnabled(false); // 不能点击屏幕
          preGame();

        } else {
          // 点击选择容器
          for (ShowPlant plant : showPlantList) {
            if (CommonUtil.isClicke(event, this, plant.getDefaultImg())
                && chosePlantList.size() < 5) {
              CGPoint pos = CGPoint.ccp(75 + chosePlantList.size() * 54, winSize.height - 65);
              CCMoveTo moveTo = CCMoveTo.action(0.3f, pos);
              plant.getDefaultImg().runAction(moveTo);
              chosePlantList.add(plant); // 已选集合
            }
          }
        }
      }
    }

    return super.ccTouchesBegan(event);
  }
Example #2
0
  /** 开始游戏 */
  public void go() {

    // 开始游戏前,移除序列帧
    ready.removeSelf();

    // 开始游戏后,屏幕可点击
    setIsTouchEnabled(true);

    // 游戏业务处理
    GameController.getInstance().start(gameMap, chosePlantList);
  }