当前位置: 首页 > news >正文

分析网站的优势和不足建个网站的费用

分析网站的优势和不足,建个网站的费用,网络搭建国赛题,dw网页制作破解版一、修复植物种植的问题 1.当手上存在植物时,再次点击卡片上的植物就会在手上添加新的植物,需要修改成只有手上没有植物时才能再次获取到植物。需要修改AddPlant方法。 public bool AddPlant(PlantType plantType) { //防止手上出现多个植…

一、修复植物种植的问题

1.当手上存在植物时,再次点击卡片上的植物就会在手上添加新的植物,需要修改成只有手上没有植物时才能再次获取到植物。需要修改AddPlant方法。

public bool AddPlant(PlantType plantType)
    {
        //防止手上出现多个植物
        if (currentPant != null) return false;
        PlantManagr plantPrefab = GetPlantPrefab(plantType);
        if(plantPrefab != null)
        {
            //这里需要注意的是,上面拿到的是PlantManagr,当我们去是实例化这个组件就相当于去实例化这个组件所在的GammeObject。
            currentPant = GameObject.Instantiate(plantPrefab);
        }
        else
        {
            Debug.Log("游戏物体不存在");
            return false;
        }
        return true;
    }

只有当手上没有植物时点击卡片上的植物才会获取植物。

修改点击事件,增加一个条件只有AddPlant方法返回为true时才能执行后续代码。

 public void Onclick()
    {
        if (needSunPoint > SunManager.Instance.SunPoint) return;
        //TODO:并进行种植
        bool isSuccess = HandManager.Instance.AddPlant(plantType);
        //返回true说明手上还有植物不能再次执行点击事件。
        if (isSuccess)
        {
            SunManager.Instance.SubSun(needSunPoint);
            TransitionToCooling();
        }

    }

这样修改后当手上存在有植物时不会再次获取到植物在手上。

2.当植物在手上时得让植物存于禁用状态

添加一个用于转换的Disable状态的方法。

    private void TransitionToDisable()
    {
        plantState = PlantState.Disable;
    }

同时还需要将其的Animator,在植物拿在手上时不能播放动画。
GetComponent<Animator>().enabled = false;

二、植物种植在地面功能实现

当鼠标点击哪个格子就把植物种植在对应的植物上,如何判断鼠标点击到了哪个格子呢?因此就要给每个格子添加一个碰撞器,然后通过碰撞器其判断点击到哪个格子上了 。
创建一个物体用于判断点击到哪个格子,在其身上添加一个组件Box Collider 2D,这样才能判断鼠标是否点击到这个格子上。通过使用OnMouseDown()事件,可以检测鼠标是否点击到这个格子身上,再将其设置为预制体。

现在将碰撞器布满背景,最后效果如下:

然后为这写碰撞器添加一个公共的父类,然后为其预制体添加一个脚本CellControl用来控制自己是否被点击到并将其设置为触发器。

在CellControl中通过使用OnMouseDown()事件去检测自身点击,当被点击时就表示要被种植了,然后将这个点击事件传递给HandManager,因为HandManager是知道要种植的植物的。

为了避免同一个位置可以种植多个植物,再写一个方法来检测并种植当前位置是否存在之植物。

因此在HandManager中写一个方法来调用,代码如下:

    public void OnMouseDown()
    {
        HandManager.Instance.OnCellClicke(this);
    }

   //检测当前位置是否存在植物
       public  bool ChechPlant(PlantManagr plant)
    {
        if (currentPlant != null) return false;
        currentPlant = plant;
        currentPlant.transform.position = transform.position;
        return true;
    }

 public void OnCellClicke(CellControl cell)
    {
        Debug.Log("OnCellClicke执行了");
        if (currentPlant == null) return;
        bool isSuccess = cell.ChechPlant(currentPlant);
        Debug.Log(isSuccess);
        //将其设置为空不让其在跟随鼠标
        if (isSuccess)
        {
            currentPlant.GetComponent<Animator>().enabled = true;
            currentPlant = null;
        }
    }

效果如下:只有当前位置没有种植过植物才能种植

http://www.yayakq.cn/news/426454/

相关文章:

  • 网站模板建网站外发加工网正规吗安全吗
  • 关于插画的网站怎样做免费的网站推广
  • 提供网站建设教学视频建邺做网站价格
  • 怎么备案网站seo网站排名优化软件是什么
  • 网站建设实施计划包括网站展示
  • 企业云网站建设不用ftp可以做网站吗
  • 做网站的财务会涉及到的科目wordpress后台输入密码进不去
  • 做网站建设销售工资高吗北京网站设计公司兴田德润优惠吗
  • 上海企业网站建设推荐金融投资网站建设
  • 沈阳自助建站模板犀牛云做网站推广怎么样
  • 企业 网站备案五华网站建设
  • 做网站的文案凡科建站弊端
  • 网站建设技术员保密协议网站建设合同的内容与结构
  • 网站性能优化方法北京网站的制作设计
  • 搭建网站的过程网站建设下坡路
  • 公司网站做排名用什么搜索好点网架公司招聘安装队伍
  • 公司网站制作需要多少钱网站关键字让别人做超链接了怎么办
  • 三合一网站制作公司亚马逊产品开发
  • 经典软文案例无排名优化
  • 天津网站建设zhy88网页设计作品聚散
  • 设计师服务平台鱼巴士有哪些网站做网站标题
  • 江苏建设厅施工员证报名网站室内设计平面图素材
  • 站内内容投放计划怎么样做免费网站
  • 学做包子馒头的网站网络营销一般月薪多少
  • 用层做的网站seo推广一年要多少钱
  • 汇创建站品牌策划与设计
  • 网络营销与策划排名优化公司哪家效果好
  • 个人网站备案建设方案书小程序开发平台需要多少钱
  • 如何做网站搜索优化深圳网站制作公司兴田德润电话多少
  • 网站开通支付宝接口网站建设运营规划方案