zoukankan      html  css  js  c++  java
  • Unity3d

    上期工程完成了基本任务UI界面的搭建、选择和取消功能。现在开始对接受任务UI变化进行处理。

    思路:

    ①当玩家按下Cancel按键时,界面消失。

    ②当玩家按下Accept按键时,界面进行任务进度界面,出现OK按键。

    ③当玩家完成任务目标是,按OK按键领取奖励。

    很直接的思路,在长者NPC脚本中加入方法如下:

    public bool isTasking = false;

    public void OnAcceptButton( )

    {

        isTasking = true;

        ShowTaskProgress();

    }

    public void OnOkButton( )

    {

       

    }

    public void OnCancelButton( )

    {

        HideQuest();

    }

    public UILabel taskLabel;

    public int killCount = 0;

    public GameObject AcceptButton;

    public GameObject CancelButton;

    public GameObject OkButton;

    void ShowTaskProgress( )

    {

        taskLabel.text = "任务: 您已杀死" + killCount+"\10只小野狼。 奖励: 1000金币。";

        AcceptButton.SetActive(false);

        CancelButton.SetActive(false);

        OkButton.SetActive(true);

    }

    void ShowTaskDescription( )

    {

        taskLabel.text = "任务:杀死10只小野狼。 奖励: 1000金币。";

        AcceptButton.SetActive(true);

        CancelButton.SetActive(true);

        OkButton.SetActive(false);

    }

    然后对点击长者的脚本进行更新如下:

    void OnMouseOver( )

    {

        if(Input.GetMouseDown(0))

        {

            if(isTasking == true)

            {

            ShowTaskProgress( );

            }

            else

            {

            ShowTaskDescription();

            }

        }

    }

    之后将方法注册到按键上即可实现本次的功能。

    最后进行OK按钮的设计,脚本如下:

    Class PlayerStatus

    public void Getcoin(int count)

    {

        coin += count;

    }

    Class Npc

    private PlayerStatus status;

    void Start()

    {

        status = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerStatus>();

    }

    public void OnOkButton( )

    {

        if(killCount >= 10)

        {

            status.Getcoin(1000);

            killCount = 0;

            ShowTaskDescripition();

        }

    }

    这样就实现了任务奖励的发放。

  • 相关阅读:
    H5图片裁剪升级版(手机版)
    仿IOS 开关按钮
    JS 数字转换为大写金额
    Unity UGUI——遮罩效果(Mask)
    AdTime:多屏时代下传统媒体的鼓起
    C语言中随机数相关问题
    在vc中使用xtremetoolkit界面库-----安装及环境配置
    初识HTML 5:关于它的三个三
    移动中间件产品的解决方式
    Android ListView 常见问题与使用总结
  • 原文地址:https://www.cnblogs.com/yanbenxin/p/5803007.html
Copyright © 2011-2022 走看看