Unity2d游戏开发日志(菜只因版)-2月4日-优化任务菜单、加了皮肤奖励

开发日志介绍了如何使用ScrollView优化任务菜单,通过改变字体颜色和Active状态切换当前任务和收集任务。同时,实现领取奖励功能,利用AnimatorLayer切换动画并更新Text内容。在解决问题部分,添加了脚本以确保游戏开始时‘收集任务’按钮为灰色。最后,作者提到新皮肤对玩家体验的影响。
摘要由CSDN通过智能技术生成

2月4日开发日志

1、优化了任务菜单 还加了个领取奖励的功能

方法

1、任务菜单

就是做了两个Scroll View,然后通过点击“当前任务”或者“收集任务”来打开关闭对应的Scroll View,再改变字体颜色做个视觉效果

下面是代码

public void NowTask()
    {
        GameObject nowtask = GameObject.Find("Canvas/Task/Now task");
        GameObject collecttask = GameObject.Find("Canvas/Task/Collect task");
        nowtask.SetActive(true);
        collecttask.SetActive(false);
        nowtaskb.color= Color.white;
    }
    public void CollectTask()
    {
        GameObject nowtask = GameObject.Find("Canvas/Task/Now task");
        GameObject collecttask = GameObject.Find("Canvas/Task/Collect task");
        nowtask.SetActive(false);
        collecttask.SetActive(true);
        nowtaskb.color = Color.gray;
        collecttaskb.color = Color.white;
    }


}

 2、领取奖励并更换皮肤

用到了animator layer,重新做了一套动画,点击领取后通过更改图层权重来播放新动画,然后把Button“领取奖励”的Text更改成“已领取”

下面是代码

public void Changeanim()//领取奖励并更换皮肤
    {
        _playeranimator.SetLayerWeight(1, 1);
        GameObject state = GameObject.Find("Canvas/Task/Collect task/Viewport/Content/Collect task-p/Text/state");
        state.GetComponent<Text>().text = "已领取";
    }

遇到的问题

因为我将“收集任务”的字体设置成了灰色且没有设置任务菜单优先显示“当前任务”,所以会出现两个Button都为灰色的情况(今天unity崩溃又重做一边T-T)

解决方法

将“收集任务”对应的Text也改成白色,然后加上脚本,当游戏开始时将Text设置为灰色即可

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class gray : MonoBehaviour
{
    Text collect;
    //在游戏开始时将文本设置为灰色
    void Start()
    {
        collect= GetComponent<Text>();
        collect.color= Color.gray;
    }

}

总结

玩家喜欢氪皮肤是有理由的,新皮肤给人新游戏的感觉哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值