Unity 限时使用 限制试用时间和使用次数

【时间限制】修改Start()函数里的minTime和maxTime时间即可。限制时间也可精确到秒,比如:

DateTime minTime = Convert.ToDateTime("2019-4-23 12:22:05");

【次数限制】SetPlayUseNumber()为限制次数方法,修改键值名就可以重新计算("UseTime")

本脚本是限制时间和次数的搭配使用,可自行修改。

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

public class SetUserTime : MonoBehaviour {

    int userNum = 0;
    public Button Btn_expire;

    // Use this for initialization
    void Start () {
        //===(比如3月1日开始计算,到4月1日结束)
        //小于minTime 时间或者大于maxTime时间 ,将不可使用
        DateTime minTime = Convert.ToDateTime("2019-3-1");
        DateTime maxTime = Convert.ToDateTime("2019-4-1");
        if (minTime > DateTime.Now || DateTime.Now > maxTime)
        {
            userNum = 4;
        }
        SetPlayUseNumber();

       
        //if (minTime < DateTime.Now && DateTime.Now < maxTime)
        //{
        //     //===用于限时功能
        //    //在这段时间内能使用xx功能
       //}
    }

    /// <summary>
    /// 设置用户使用次数
    /// </summary>
    void SetPlayUseNumber()
    {
        RegistryKey RootKey, RegKey;
        //项目名:HKEY_CURRENT_USER\Software
        RootKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", true);
        //打开子项:HKEY_CURRENT_USER\Software\MyRegDataApp
        if ((RegKey = RootKey.OpenSubKey("TestToControlUseTime", true)) == null)
        {
            RootKey.CreateSubKey("TestToControlUseTime");       //不存在则创建
            RegKey = RootKey.OpenSubKey("TestToControlUseTime", true);
            RegKey.SetValue("UseTime7", (object)3);              //创建键值,存储可使用次数
            return;
        }
        try
        {
            object usetime = RegKey.GetValue("UseTime7");        //读取键值,可使用次数
            print("还可以使用:" + usetime + "次");
            //int newtime = int.Parse(usetime.ToString()) - 1;
            int newtime = int.Parse(usetime.ToString()) - userNum;
            if (newtime < 0)
            {
                //到期退出程序
                RegKey.SetValue("UseTime7", (object)newtime);
                Btn_expire.gameObject.SetActive(true);
                Invoke("OnExit", 2);//延时退出,可在退出前显示提示消息
            }
            else
            {
                RegKey.SetValue("UseTime7", (object)newtime);    //更新
            }
        }
        catch
        {
            RegKey.SetValue("UseTime7", (object)3);
            print("更新使用3次");
        }
    }

    private void OnExit()
    {
        Application.Quit();
    }
}

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
Unity开发的Android应用程序进入黑屏时间长可能有多个原因。 1.资源加载时间长:Unity应用程序启动时,需要加载各种资源,例如游戏场景、纹理、音频、脚本等。如果资源较多或者资源文件较大,加载时间就会变长,导致进入黑屏时间拉长。 2.编译和打包时间长:在Unity中,将应用程序编译和打包成Android应用需要一定时间。如果项目代码较多或者有复杂的逻辑,编译和打包的时间就会增加,从而导致黑屏时间拉长。 3.设备性能不足:如果用户的Android设备性能较低,如处理器速度慢、内存较小,那么启动Unity应用程序的时间可能会比较长。这是因为设备性能不足导致Unity引擎初始化和资源加载速度变慢。 4.其他耗时操作:除了资源加载和编译打包,还可能有其他耗时操作导致进入黑屏时间长,例如初始化插件、网络请求、加载广告等。这些操作都可能会增加进入黑屏的时间。 解决这个问题可以从以下几个方面入手: 1.优化资源加载:合理使用资源压缩和分包技术,减小资源文件大小,降低加载时间。另外,可以进行异步加载,避免阻塞主线程。 2.优化代码逻辑:简化代码结构,减少不必要的计算和操作,提高应用程序的启动速度。 3.兼容性测试和优化:针对不同的Android设备进行兼容性测试,发现性能较低的设备并进行相应的优化。 4.使用启动图或进度提示:可以在应用程序启动时显示一张启动图或者添加一个进度提示,从而让用户感知到应用程序正在加载,减少黑屏时间的影响。 综上所述,Unity Android应用程序进入黑屏时间长可能是由于资源加载时间长、编译和打包时间长、设备性能不足以及其他耗时操作等原因造成的。通过优化资源加载、代码逻辑、兼容性测试和增加启动图或进度提示等方式可以减少黑屏时间

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值