zoukankan      html  css  js  c++  java
  • Unity 游戏框架搭建 2019 (二) 文本复制到剪切板

    在上一篇中,我们通过自动生成文件名来简化了我们的导出步骤。但是这样还不够。因为从笔者的角度来看,其实还有很大的优化空间。

    不过,我们不要心急,罗马不是一天建成的,但是可以通过一步一步迭代完成的。

    那么今天我们就在此基础上再试着前进一小步。

    第二个示例我们要做什么呢?

    我们来分析一下我们每次导出时候的操作步骤:

    1. 点击菜单栏 QFramework/1.生成 unitypackage 名字。
    2. 复制控制台中的名字。
    3. 右击 QFramework 文件夹,然后选择 ExportPackage。
    4. 之后确保取消选择 Include Dependency。
    5. 粘贴名字,然后导出到指定目录下。

    总共五个步骤。

    现在提出一个问题,第一步和第二步可不可以合并为一个步骤?如果合并成功。那么第一步则应该描述为“点击菜单栏 QFramework/1.生成 unitypackage 名字并复制”。

    这样问题的关键点就出来了。

    关键点

    “点击菜单栏 QFramework/1.生成 unitypackage 名字并复制”,本质上就是把字符串复制到剪切板。

    有了这个关键点,我们就可以在搜索引擎进行搜索了(这里推荐用谷歌,不能翻墙的同学建议用 bing.com)。
    将“Unity、编辑器、UnityEditor、拷贝、复制”等关键字进行组合搜索了很久,几分钟后终于找到一点线索。
    找到了这个 API

        GUIUtility.systemCopyBuffer = "要复制的关键字";
    

    这个 API 就是关键所在。

    马上写个脚本测试一下。代码如下:

        #if UNITY_EDITOR
        using UnityEditor;
        #endif
        
        using UnityEngine;
        
        namespace QFramework
        {
        	public static class CopyText2Clipboard
        	{
        #if UNITY_EDITOR
        		[MenuItem("QFramework/2.复制文本到剪切板")]
        #endif
        		private static void CopyText()
        		{
        			GUIUtility.systemCopyBuffer = "要复制的关键字";
        		}
        	}
        }
    

    代码非常简单。

    测试步骤

    1. 把脚本文件放到我们的 QFramework/2.复制文本到剪切板/ 目录下。
    2. 然后点击菜单栏 QFramework/2.复制文本到剪切板。
    3. 试着在任意可输入的地方进行粘贴(ctrl+v),就可以看到结果了。

    结果如下:
    006tNc79gy1fzdbfkg6atj309s03qaa1.jpg

    到此呢,大家可以进行导出了。到此呢,笔者的 unitypackage 文件名为 QFramework_20181103_02。

    小结

    虽然没有完成合并之后的功能,但是我们解决最关键的问题。对于笔者来说,今天示例中的 API 之前也从没有接触过。笔者也学习到了。

    转载请注明地址:liangxiegame.com

    更多内容

  • 相关阅读:
    hdu 1251(字典树)
    hdu 1556(树状数组)
    hdu 3275(线段树的延迟标记,我被坑了)
    TCL之容器
    Codeforces Round #587 (Div. 3) D. Swords
    struts2中多个文件同时上传
    ffmpeg的使用
    struts2中类型转换器
    struts中访问servlet API的方法
    struts2中多个逻辑action(方法)的动态调用
  • 原文地址:https://www.cnblogs.com/liangxiegame/p/12530839.html
Copyright © 2011-2022 走看看