精华内容
下载资源
问答
  • 针对传统控制变量法中通孔加工脉冲个数设定值过盈会造成诸多不利影响等问题,利用穿透检测技术建立脉冲个数阈值的数学模型,并使用基于此模型得到的改进型控制变量法研究了激光的离焦量、扩束比和脉冲重复频率对出入口...
  • [HIVE]shell中设定日期变量

    万次阅读 2018-11-27 14:36:16
    today=`date -d "-1 day" +%Y%m%d`  
    today=`date -d "-1 day" +%Y%m%d`

     

    展开全文
  • Eclipse 如何安装,以及jdk如何设定环境变量20[ 标签:eclipse jdk,jdk,变量 ] Eclipse 如何安装,以及jdk如何设定环境变量 有个图解图解就好了,谢谢Harrison 回答:3 人气:3 解决时间:2010-03-08 19:25 满意答案...

    Eclipse 如何安装,以及jdk如何设定环境变量

    20
    [ 标签: eclipse jdk , jdk , 变量 ]

    Eclipse 如何安装,以及jdk如何设定环境变量

     

    有个图解图解就好了,谢谢

    Harrison 回答:3 人气:3 解决时间:2010-03-08 19:25
    满意答案

    Eclipse不用安装,直接解压就可以用的----但要求电脑里有安装JDK并且有配置好环境变量

    JDK的安装是全自动的~

    配置JDK环境变量(安装好JDK后进行)的方法:我的电脑---属性---高级属性---环境变量---系统环境变量(Adiminitrator环境变量也行---有点区别)到这里后有两种方法:

    第1种、 点击新建:然后在弹出的的对话框中变量名:JAVA_HOME 变量值:JDK的安装路径:如C:/Program Files/Java/jdk1.6.0

    找到名为path的环境变量,点击编辑(没有就新建一个---方法同上)在原有的变量值后加上个分号(英文状态下的)然后加上%java_home%/bin

    第2种、直接找到path的环境变量,点击编辑:在原有的变量值后加上个分号(英文状态下的)然后加上JDK的安装路径(到bin):如C:/Program Files/Java/jdk1.6.0/bin

    仅此而已,很简单吧?(*^__^*)

    其他答案

    eclipse 汉化包安装

     

    1.首先关闭Eclipse
    2.将多国语言包解压到Eclipse安装目录下的Language子目录中,注意保持压缩包原来的目录结构。

    3.在Eclipse安装目录下创建子目录links,并在该目录下新建一个文本文件,名称为language.start,在文本文件中键入如下所示一行信息。
    path=d://eclipse//languge
    即指向多国语言包的安装目录,注意路径中反斜杠为双写。
    4.在安装完语言包后,再重新启动Eclipse,此时界面将显示中文环境。由于在此之前曾将启动过Eclipse,因此有可能会出现在本地化后,部分单词仍为英文的情况,此时可以先删除Eclipse安装目录中的configuration子目录下面的org.eclipse.update目录,以删除原有记录的英文版信息,然后再重新启动Eclipse即可。

    提问人的追问   2010-01-11 21:51

    那该如何在属性中 配置jdk的环境变量

    团队的补充   2010-01-11 22:05

    1.右击“我的电脑”,点击“属性”:选择“高级”选项卡,点击“环境变量”:   
    2.在“系统变量”中,设置3项系统变量,JAVA_HOME,PATH,CLASSPATH (注:“系统变量”对所有用户有用,而“用户变量”则只对当前登陆用户有用。对于变量的大小写,是不进行区分的。)
    3.因为是默认安装,所以JDK1.5是安装在C:/Program Files/Java/jdk1.5.0里了。现在为三个变量设值;
    新建 JAVA_HOME 设值 C:/Program Files/Java/jdk1.5.0
    新建 CLASSPATH 设值 .;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar
    编辑 PATH 设值 ;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
    注意事项:
    配置JAVA_HOME变量的作用:JAVA_HOME路径下包括lib,bin,jre等文件夹,以后配tomcat,eclipse等java开发软件可能需要依赖此变量。
    在设置系统变量Path(系统已经有),要注意前面的分号“;”,配置Path的作用:Path使系统可以在任何路径下识别java命令。
    在设置系统变量CLASSPATH时,要注意前面的注意前面的“.;”,配置CLASSPATH变量的作用: 为系统指明java加载类(class or lib)的路径,只有类在classpath中,java命令才能识别,其中,%JAVA_HOME%就是引用前面指定的JAVA_HOME。
    用户变量的设置必须注销重登录后才起作用,但是当本次配置中所有环境变量都是系统变量,而设置系统变量的则不用。
    4.测试JDK1.5的环境变量是否配置成功。
    “开始”->“运行”,键入“cmd”进入命令提示符下,键入命令“java -version”,出现如下信息,说明环境变量配置成功:
    java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
    Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
    5.用一个小程序测试JDK1.5是否能成功运行JAVA程序。
    现在我们编辑一个java小程序,然后进行测试。现在我们就直接在C盘建一个“Hello.java”的文件吧,并记事本打开它,在它里面输入如下代码:
    public class Hello
    { public static void main(String[] args)
    { System.out.println("Hello World!"); }
    }
    然后保存。
    现在进入到命令提示符下。输入cd/来回到C盘根目录下。即如下样式:
    C:/> java
    程序是不能直接运行的,因此,我们得对它先进地编译,即输入javac Hello.java如下:
    C:/>javac Hello.java
    C:/>
    这样就编译好了,如果没有编译好的话,它会提示错误。 java文件被编译好了之后,就会自动生成一个CLASS编译文件,因此我们可以运行它,只要输入“java Hello”就可以了。
    C:/>java Hello
    Hello World! //结果。

    eclipse 安装 基本同上

    JDK环境变量的设置

    JDK环境变量的设置对学多学习java的初学者来说,是一个很麻烦的事情,下面我们就来介绍一下在XP下以及Linux下JDK的环境变量是怎样设置的.

    1:XP下JDK环境变量的设置

    第一步:右击“我的电脑”,点击“属性”。

    第二步:选择“高级”选项卡,点击“环境变量”。

    第三步:在“系统变量”中,设置3项属性,JAVA_HOME , path , classpath (大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”。

    第四步:JAVA_HOME指明JDK安装路径,就是刚你自己电脑上JDK安装路径(例如:C://jdk1.6),此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量);
    path 使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%/bin
    classpath
    为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar (要加"."表示当前路径) %JAVA_HOME%就是引用前面指定的JAVA_HOME。

    第五步:“开始”->“运行”,键入“cmd”:

    第六步:键入命令“java -version”,如果出现JDK的版本信息,说明环境变量配置成功。

    2:Linux下JDK环境变量的设置(三种配置环境变量的方法)

     ①. 修改/etc/profile文件

      如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
      ·用文本编辑器打开/etc/profile
    ·在profile文件末尾加入:
    JAVA_HOME=/usr/share/jdk1.5.0_05
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME
    export PATH
    export CLASSPATH

      ·重新登录
      ·说明
        a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk安装目录
        b. linux下用冒号“:”来分隔路径
        c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。
        d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
        e. export是把这三个变量导出为全局变量。
        f. 大小写必须严格区分。

     ②. 修改.bashrc文件
        
      这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
      ·用文本编辑器打开用户目录下的.bashrc文件
      ·在.bashrc文件末尾加入:
    set JAVA_HOME=/usr/share/jdk1.5.0_05
    export JAVA_HOME
    set PATH=$JAVA_HOME/bin:$PATH
    export PATH
    set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export CLASSPATH
      ·重新登录

      ③. 直接在shell下设置变量

       不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
    只需在shell终端执行下列命令:
    export JAVA_HOME=/usr/share/jdk1.5.0_05
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    完成后打开终端,键入命令“java -version”,如果出现JDK的版本信息,说明环境变量配置成功。

    展开全文
  • 针对实际过程控制系统中某些被控变量没有设定值要求只有区域目标约束要求这一特点, 提出一种带有输 出区域目标特性的多变量预测控制算法(ZMM PC). 该算法根据区域目标约束条件的满足情况, 将控制器的目标函 ...
  • 针对多变量有约束动态矩阵控制问题, 以输出预测值与未来参考轨迹序列误差的绝对值之和 作为性能指标, 通过线性化处理使其转化为目的规划问题,从而使在线滚动优化变得非常容易,并可充 分利用全部操作变量...
  • 基于多变量解耦控制技术,提出了一种...该回路设定控制器能够克服系统具有的多变量耦合和不确定干扰影响,根据期望的工艺指标,对底层控制器的设定值 进行在线调整.磨矿过程运行控制系统设计实例验证了所提方法的有效性.
  • Windows环境变量编程设定

    千次阅读 2013-03-27 18:31:23
    本文由浅入深的讲解环境变量的定义、使用。对Win98、WinMe、NT、XP、Win2003的不同系统下的应用进行了全面的分析。并以编程方式实现设置Windows环境变量。这对于一般程序编制和软件安装程序编制都有重要的意义。 一...

            本文由浅入深的讲解环境变量的定义、使用。对Win98WinMeNTXPWin2003的不同系统下的应用进行了全面的分析。并以编程方式实现设置Windows环境变量。这对于一般程序编制和软件安装程序编制都有重要的意义。

    什么是用户环境变量、什么是系统环境变量:

    环境变量的定义(参考msdn):环境变量是一个string组成的array它是计算机的一系列设置(setting,环境变量用以指定文件的搜索路径、临时文件目录、特定应用程序(application-specific)的选项和其他类似信息。默认情况下,每个进程(process)的环境变量拷贝自父进程。当然父进程也能够为子进程指定不同的环境变量。

    环境变量控制着多种程序的行为。例如,TEMP环境变量指定程序放置临时文件的位置。任何用户都可以添加、修改或删除用户的环境变量。但是,只有管理员才能添加、修改或删除系统环境变量。使用"控制面板"中的"系统"可以自定义下列变量:(1)用于登陆用户名(logged_on_user_name用户环境变量;对于特定计算机的每个用户来说,用户环境变量是不同的。变量包括由用户设置的任何内容,以及由应用程序定义的所有变量,例如应用程序文件的路径。(2系统环境变量;管理员可以更改或添加应用到系统(从而应用到系统中的所有用户)的环境变量。安装期间,Windows安装程序配置默认的系统变量,例如 Windows 文件的路径。

    用户环境变量的作用、系统环境的作用:

    举例往往是说明一个问题的最好办法,在Win2000下,我们观察"PATH"这个环境变量,

    PATH= %SystemRoot%/system32。但是 "SystemRoot"又是一个环境变量, SystemRoot =d:/winnt,所以环境变量"TMP"的最终表征的路径为"d:/winnt/SYSTEM32".如我们手动编辑系统环境变量PATH。修改后PATH=%SystemRoot%/system32;C:/ Program Files。然后设计一个代码,实现浏览器打开目录"C:/Program Files"。这仅涉及一个简单的ShellExecute API

    ShellExecute(NULL, "explore", "Internet Explorer",NULL, "c://Program Files", SW_SHOWNORMAL);

    等价于

    ShellExecute(NULL,"explore","Internet Explorer",NULL,"%path%",

    SW_SHOWNORMAL);

    但是后者有很大的灵活性,不修改代码只修改环境变量path的就能完成新的功能。这对于软件安装程序有着很好的意义。熟练的应用环境变量,有助于写出灵活、模块化的软件。

    以上虽然以Win2000为例讲解,但同样适用于其他Windows系统,只是win98系列设置环境变量的方式不同,详情见下节:设定环境变量的算法。

    设定环境变量的算法:

    对于对Win98WinMeNTXPWin2003一揽子操作系统,可以分为两类:win98系列,NT系列。它们设定系统环境变量有着本质的不同。但对于设置当前进程的环境变量是一样的。

    A关于系统环境变量

    1win98系列设定系统环境变量的算法:

    熟悉win98的都清楚,在C盘一般都有一个"AutoExec.bat"文件,系统启动都要执行它,所以这里是设定系统环境变量的地方,添加一个环境变量只是添加一行

    SET PATH=C:/FOLDER1/FOLDER2类似的语句。如果添加一个路径,那么就是类似的语句

    SET PATH=C:/FOLDER1/FOLDER2;D:/FOLDER3。系统要重新启动更改才能有效。

    2NT系列的设定系统环境变量的算法:

    首先分析手动编辑环境变量的原理,通过阅读MSDN文档,发现系统其实在注册表

    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment

    保存系统环境变量,当手动修改完毕时,选择"确定"按钮退出,向系统所有上级窗口发送WM_SETTINGCHANGE消息。系统不需要重新启动。

    [插曲]:如何向系统所有上级窗口发送WM_SETTINGCHANGE消息?我仔细观看MSDN代码也没有给出一个例子。只能自己想办法,我编写了一个程序专门接受发送给它的WM_SETTINGCHANGE的消息,代码如下:

    OnSettingChange(UINT uFlags, LPCTSTR lpszSection){….}

    然后手动修改系统环境变量,这是程序接收到消息,分析uFlags, lpszSection两个参数,得知uFlags=0, lpszSection="Environment";

    然后模仿该消息,向系统所有上级窗口发送WM_SETTINGCHANGE消息。

    B关于当前的进程的环境变量

    这个范围的环境变量很简单,进程执行时该变量有效,退出时就失效。所涉及的API就限于GetEnvironmentVariableSetEnvironmentVariableGetEnvironmentStringsSetEnvironmentStrings等。

     

     

    原文地址:http://blog.csdn.net/ace1985/article/details/5706087

    《Windows API巡礼》---GetEnvironmentStrings和GetEnvironmentVariable

    环境变量是进程中一组变量信息,环境变量分为系统环境变量、用户环境变量和进程环境变量。系统有全局的环境变量,在进程创建时,进程继承了系统的全局环境变量、当前登录用户的用户环境变量和父进程的环境变量。进程也可以有自己的环境变量。

    设置和获取所在进程的环境变量使用API函数GetEnvironmentStrings、GetEnvironmentVariable和SetEnvironmentVariable:

    1)GetEnvironmentStrings函数用于获取所有环境变量字符串

    LPTCH WINAPI GetEnvironmentStrings(void);

    返回值:

    成功时,返回指向保存环境变量的缓冲区;

    失败时,返回值为NULL。

    2)FreeEnvironmentStrings函数用来释放由GetEnvironmentStrings返回的内存块:

    BOOL WINAPI FreeEnvironmentStrings(

    __in LPTCH lpszEnvironmentBlock

    );

    返回值:

    成功时,返回非零值;

    失败时,返回零值,可调用GetLastError()查看进一步错误消息。

    3)GetEnvironmentVariable函数用于获取指定的环境变量:

    DWORD WINAPI GetEnvironmentVariable(

    __in_opt LPCTSTR lpName,//环境变量名

    __out_opt LPTSTR lpBuffer,//指向保存环境变量值的缓冲区

    __in DWORD nSize//缓冲区大小(字符数)

    );

    返回值:

    成功时,返回真实的环境变量值大小,不包括null结束符;

    如果lpBuffer大小不足,则返回值是实际所需的字符数大小,lpBuffer内容未定义;

    失败时,返回0;如果指定的环境变量找不到,GetLastError()返回ERROR_ENVVAR_NOT_FOUND。

    4)SetEnvironmentVariable函数用于设置指定的环境变量:

    BOOL WINAPI SetEnvironmentVariable(

    __in LPCTSTR lpName,//环境变量名,当该值不存在且lpValue不为NULL时,将创建一个新的

    __in_opt LPCTSTR lpValue//环境变量值

    );

    返回值:

    成功时,返回非零值;

    失败时,返回零值,调用GetLastError()查看具体的错误信息。

    该函数对系统环境变量以及其他进程的环境变量不起作用!

     

     

    实例一:调用GetEnvironmentStrings函数检索进程的环境变量内存块,并将其中内容打印到控制台:

    #include<windows.h>

    #include<tchar.h>

    #include<stdio.h>

    int _tmain()

    {

    LPTSTR lpszVariable;

    LPTCH lpvEnv;

    //获得环境变量内存块的指针

    lpvEnv = GetEnvironmentStrings();

    if(lpvEnv == NULL)

    {

    printf("GetEnvironmentStrins failed(%d)/n", GetLastError());

    return 0;

    }

    //环境变量字符串是以NULL分隔的,内存块以NULL结尾

    lpszVariable = (LPTSTR)lpvEnv;

    while(*lpszVariable)

    {

    _tprintf(TEXT("%s/n"), lpszVariable);

    lpszVariable += lstrlen(lpszVariable) + 1;//移动指针

    }

    FreeEnvironmentStrings(lpvEnv);

    system("pause");

    return 1;

    }

    实例二:默认情况下,子进程继承父进程环境变量内存块的一份拷贝;下面代码通过调用CreateProcess函数实现将一个环境变量块传递给子进程(asce.exe就是实例一编译链接得到的exe文件,因此,该代码的运行结果就是子进程打印从父进程继承而来的环境变量):

    #include<Windows.h>

    #include<tchar.h>

    #include<stdio.h>

    #include<strsafe.h>

    #define BUFSIZE 4096

    int _tmain()

    {

    TCHAR chNewEnv[BUFSIZE];

    LPTSTR lpszCurrentVariable;

    DWORD dwFlags = 0;

    TCHAR szAppName[] = TEXT("asce.exe");

    STARTUPINFO si;

    PROCESS_INFORMATION pi;

    BOOL fSuccess;

    //将环境变量字符串拷贝到环境变量内存块中

    lpszCurrentVariable = (LPTSTR)chNewEnv;

    if(FAILED(StringCchCopy(lpszCurrentVariable, BUFSIZE, TEXT("AsceSetting=Luffy"))))

    {

    printf("String copy failed/n");

    return FALSE;

    }

    lpszCurrentVariable += lstrlen(lpszCurrentVariable) + 1;

    if(FAILED(StringCchCopy(lpszCurrentVariable, BUFSIZE, TEXT("AsceVersion=2.0"))))

    {

    printf("String copy failed/n");

    return FALSE;

    }

    //使环境变量内存块以NULL结尾

    lpszCurrentVariable += lstrlen(lpszCurrentVariable) + 1;

    *lpszCurrentVariable = (TCHAR)0;

    //创建子进程,指定一个新的环境变量内存块

    SecureZeroMemory(&si,sizeof(STARTUPINFO));

    si.cb =sizeof(STARTUPINFO);

    #ifdef UNICODE

    dwFlags = CREATE_UNICODE_ENVIRONMENT;

    #endif

    fSuccess = CreateProcess(szAppName, NULL, NULL, NULL,

    TRUE, dwFlags, (LPVOID)chNewEnv,//新的环境变量内存块

    NULL, &si, &pi);

    if(!fSuccess)

    {

    printf("CreateProcess failed(%d)/n", GetLastError());

    return FALSE;

    }

    WaitForSingleObject(pi.hProcess, INFINITE);

    system("pause");

    return TRUE;

    }

     

    实例三:在子进程创建过程中改变子进程的环境变量是一个进程改变另一个进程环境变量的唯一方式。一个进程绝不能直接改变另一个进程(非子进程)的环境变量。下面代码实现子进程继承符进程环境变量的方法:

    #include<Windows.h>

    #include<tchar.h>

    #include<stdio.h>

    #define BUFSIZE 4096

    #define VARNAME TEXT("AsceVariable")

    int _tmain()

    {

    DWORD dwRet, dwErr;

    LPTSTR pszOldVal;

    TCHAR szAppName[] = TEXT("asce.exe");

    DWORD dwFlags = 0;

    STARTUPINFO si;

    PROCESS_INFORMATION pi;

    BOOL fExist, fSuccess;

    // Retrieves the current value of the variable if it exists.

    // Sets the variable to a new value, creates a child process,

    // then uses SetEnvironmentVariable to restore the original

    // value or delete it if it did not exist previously.

    pszOldVal = (LPTSTR)malloc(BUFSIZE*sizeof(TCHAR));

    if(NULL == pszOldVal)

    {

    printf("Out of memory/n");

    return FALSE;

    }

    dwRet = GetEnvironmentVariable(VARNAME, pszOldVal, BUFSIZE);

    if(0 == dwRet)

    {

    dwErr = GetLastError();

    if(ERROR_ENVVAR_NOT_FOUND == dwErr)

    {

    printf("Environment variable does not exist/n");

    fExist = FALSE;

    }

    }

    elseif(BUFSIZE < dwRet)

    {

    pszOldVal = (LPTSTR)realloc(pszOldVal, dwRet*sizeof(TCHAR));

    if(NULL == pszOldVal)

    {

    printf("Out of memory/n");

    return FALSE;

    }

    dwRet = GetEnvironmentVariable(VARNAME, pszOldVal, dwRet);

    if(!dwRet)

    {

    printf("GetEnvironmentVariable failed(%d)/n", GetLastError());

    return FALSE;

    }

    else

    fExist = TRUE;

    }

    else

    fExist = TRUE;

    //Set a value for the child process to inherit

    if(!SetEnvironmentVariable(VARNAME, TEXT("ASCE")))

    {

    printf("SetEnvironmentVariable failed(%d)/n", GetLastError());

    return FALSE;

    }

    //Create a child process

    SecureZeroMemory(&si,sizeof(STARTUPINFO));

    si.cb =sizeof(STARTUPINFO);

    #ifndef UNICODE

    dwFlags = CREATE_UNICODE_ENVIRONMENT;

    #endif

    fSuccess = CreateProcess(szAppName, NULL, NULL, NULL,

    TRUE, dwFlags, NULL,//inherit parent's environment

    NULL, &si, &pi);

    if(!fSuccess)

    {

    printf("CreateProcess failed(%d)/n", GetLastError());

    }

    WaitForSingleObject(pi.hProcess, INFINITE);

    //Restore the original environment variable

    if(fExist)

    {

    if(!SetEnvironmentVariable(VARNAME, pszOldVal))

    {

    printf("SetEnvironmentVariable failed(%d)/n", GetLastError());

    return FALSE;

    }

    }

    else

    SetEnvironmentVariable(VARNAME, NULL);

    free(pszOldVal);

    system("pause");

    return fSuccess;

    }

    原文出处:http://www.cnblogs.com/zuibunan/archive/2012/07/16/2592983.html

    展开全文
  • 首先,我们现在的需求是这样的,我定义了一个脚本,里面有一个int类型的变量,但是我想控制变量的大小在0到100之间,通过用滑动条的方式来控制。 其实这里的player HP 是我使用了unity自带的一个滑动条来读取的值 ...

    首先,我们现在的需求是这样的,我定义了一个脚本,里面有一个int类型的变量,但是我想控制变量的大小在0到100之间,通过用滑动条的方式来控制。


    其实这里的player HP 是我使用了unity自带的一个滑动条来读取的值

    ‘玩家魔法值’在代码中的定义是playerMP,是我使用了自己自定义的一个方法来改的,看起来更直观


    再次首先,我先说一下这个工程里一共有3个脚本,分别是:

    (1)ValueRangeExample.cs


    (2)MyRangeAttribute.cs

    (3)MyRangeAttributeDrawer.cs


    哎哎哎,你的字怎么分开了啊,打错了吧!!!

    哈,没有打错,故意空行的,脚本(1)ValueRangeExample.cs我们是吧它挂载到了主摄像机的身上

    (2)MyRangeAttribute.cs 和 (3)MyRangeAttributeDrawer.cs 哪里都没有挂载,他们两个是对[MyRangeAttribute(0,100)]功能的编写,看下面代码就懂啦~

    (1)ValueRangeExample.cs:

    using UnityEngine;
    using System.Collections;
    /// <summary>
    /// 脚本位置:挂载到主摄像机上
    /// 脚本功能:通过一个滑动条来控制变量值的大小
    /// 创建时间:2015.07.26
    /// </summary>
    public class ValueRangeExample : MonoBehaviour {
    	
    	// 【系统自带功能】
    	// 这个Range是系统自带的一个滑动条模式的取值范围
    	// 在Inspector会显示一个滑动条来控制变量,变量的名字默认读取它下面第一个可以执行的行的代码
    	// 什么叫可以执行的行的代码。。。它下一行是注释的话就是不能执行的对吧。。。恩,就是这样。。。
    	[Range(0,100)]
    	public int playerHP;
    
    	// --------------------------------------------
    	// 【自己编写相同功能,并扩展可以定义文字】
    	// MyRangeAttribute就是我们的第二个脚本
    	// MyRangeAttribute是一个继承PropertyAttribute类的脚本
    	[MyRangeAttribute(0,100,"玩家魔法值")]
    	public int playerMP;
    }
    
    (2)MyRangeAttribute.cs

    其实只是继承了PropertyAttribute类,什么功能都没有实现,功能的实现是在脚本(3)MyRangeAttributeDrawer.cs中

    using UnityEngine;
    using System.Collections;
    /// <summary>
    /// 脚本位置:要求放在Editor文件夹下,其实不放也可以运行
    /// 脚本功能:实现一个在Inspector面板中可以用滑动条来控制变量的大小
    /// 创建事件:2015.07.26
    /// </summary>
    public class MyRangeAttribute : PropertyAttribute {
    	// 这3个变量是在Inspector面板中显示的
    	public float min;	 // 定义一个float类型的最大
    	public float max;    // 定义一个float类型的最大
    	public string label; // 显示标签
    
    	// 在脚本(1)ValueRangeExample定义[MyRangeAttribute(0,100,"玩家魔法值")]
    	// 就可以使用这个功能了,但是为什么这里的string label = ""呢
    	// 因为给了一个初值的话,在上面定义[MyRangeAttribute(0,100)]就不会报错了,不会提示没有2个参数的方法
    	public MyRangeAttribute(float min, float max,string label = "")
    	{
    		this.min = min;
    		this.max = max;
    		this.label = label;
    	}
    	
    }
    
    (3)MyRangeAttributeDrawer.cs
    using UnityEngine;
    using System.Collections;
    using UnityEditor; // 引入Editor命名空间
    // 使用绘制器,如果使用了[MyRangeAttribute(0,100,"lable")]这种自定义的属性抽屉
    // 就执行下面代码对MyRangeAttribute进行补充
    [CustomPropertyDrawer(typeof(MyRangeAttribute))]
    
    /// <summary>
    /// 脚本位置:要求放在Editor文件夹下,其实不放也可以运行
    /// 脚本功能:对MyRangeAttribute脚本的功能实现
    /// 创建事件:2015.07.26
    /// </summary>
    
    // 一定要继承绘制器类 PropertyDrawer
    public class MyRangeAttributeDrawer: PropertyDrawer {
    	// 重写OnGUI的方法(坐标,SerializedProperty 序列化属性,显示的文字)
    	public override void OnGUI(Rect position, SerializedProperty property, GUIContent lable)
    	{
    		// attribute 是PropertyAttribute类中的一个属性
    		// 调用MyRangeAttribute中的最大和最小值还有文字信息,用于绘制时候的显示
    		MyRangeAttribute range = attribute as MyRangeAttribute;
    		// 判断传进来的值类型
    		if (property.propertyType == SerializedPropertyType.Float) {
    			EditorGUI.Slider(position, property, range.min, range.max, range.label);
    		} else if (property.propertyType == SerializedPropertyType.Integer) {
    			EditorGUI.IntSlider(position, property, (int)range.min, (int)range.max, range.label);
    		}
    	}
    
    }
    




    展开全文
  • 针对磨矿过程的关键工艺指标——磨矿粒度难以用现有控制方法进行有效控制的难题,提出一种由模糊监督器、磨矿控制回路预设定模型和磨矿粒度预报器组成的磨矿过程多变量模糊监督控制(MFSC)方法.MFSC方法用于对磨矿...
  • 该方法结合单变量预测函数控制及Simith预估器的特点,通过对预测时域进行分段设定,以期达到较好的快速性和稳定性。以气体分馏装置的脱丙烷塔为例,依托现场的实测模型,对提出的算法进行了验证。结果表明,所提出预测...
  • 我们在写bat脚本时,可以使用以下的两个变量,获得时间戳,从而进行各种操作 %date:~0,4%%date:~5,2%%date:~8,2%.%time:~0,2%%time:~3,2%%time:~6,2% ■前提 这么做需要有一个前提条件, 日期的格式,和你想定...
  • keil for arm中: staticconstuint8_ts_acBmpLogo030[len]__attribute__((at(0X800F000)))={0x80,0xC0,0xC0,0xC0,0xC0,0x80,xxxxxxx} ...将一个全局变量放到0x20000000处; 将一个const常量放置到0x0000100...
  • 针对多变量非线性系统提出了一种带约束输入的广义预测控制(GPC)算法。首先对多变量非线性系统建立T-S模糊模型,利用...仿真结果表明该算法能保证系统输出有效跟踪设定值,而且控制输入和控制增量均在其约束范围之内。
  • [java]4、静态变量控制修改

    千次阅读 2016-03-01 14:00:28
    java 静态变量
  • 研究了有中介的调节效应模型和有调节的中介效应模型, 两种模型都...最后, 作为示范例子, 用混合模型分析儿童行为对同伴关系的影响, 结果发现, 如果混合模型中的调节都设定是线性的, 那么调节变量对因果关系是二次调节。
  • shell脚本之shell内部变量和环境变量

    万次阅读 2018-06-16 10:24:28
    这篇博客介绍:1、部分常用的内部变量2、环境变量变量的分类可以参考:点击打开链接1、部分常用的内部变量: ⑴ #  说明:$#变量是命令行参数或位置参数的数量 ⑵ -  说明:$-变量是传递给shell脚本的执行标志 ...
  • mysql变量之系统静态变量、状态变量

    千次阅读 2012-11-09 10:34:32
    初学mysql的时候,一直觉得其系统环境变量...Mysql的变量分为三种:系统静态变量、系统动态变量和系统状态变量,在这里介绍了一下系统静态变量和状态变量,记录如下:   变量名称 解释说明 默认值
  • MySQL 系统变量(system variables)

    万次阅读 2014-09-26 20:25:51
    MySQL系统变量(system variables)实际上是一些系统参数,用于初始化或设定...1、什么是系统变量 系统变量实际上用于控制数据库的一些行为和方式的参数。比如我们启动数据库的时候设定多大的内存,使用什么样的隔离
  • SQL中的全局变量 局部变量

    千次阅读 2014-03-18 23:37:02
    变量 Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一...另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上
  • Ansible 中变量及加密

    千次阅读 2021-05-10 21:13:09
    变量设定和使用方式JINJA2模板j2模板书写规则#j2模板在playbook中的应用# #playbook1#playbook2Ansible的加密控制 1. 变量命名 只能包含数字,下划线,字母 只能用下划线或字母开头 2. 变量级别 全局: 从命令行...
  • windows 用户变量和系统变量的区别

    千次阅读 2018-12-17 14:50:05
    点击“我的电脑→属性→高级系统设置”标签的“环境变量”按钮,出现“环境变量”对话框,如果当前是以Administrator登录系统的用户,对话框的上面为Administrator的用户变量,对话框的下面为系统变量(即相当于系统...
  • 前面我们发布了一系列PID控制器相关的文章,包括经典PID控制器以及参数自适应的PID控制器。这一系列PID控制器虽说实现了主要功能,也在实际使用中取得了良好...但有些时候同一个被控对象可能会受到2个控制变量的影...
  • 西门子数控变量

    千次阅读 2018-01-22 21:42:11
    西门子数控变量 ...控制系统的3种变量类型 用户定义变量:由用户定义名称和类型的变量,例如,计算参数 计算参数:专门的,预定义的计算变量,给定地址R及随后的数字,预定义的计算变量类型为
  • smarty变量

    千次阅读 2012-07-26 10:39:43
    1、$template_dir [模板目录变量] 该变量定义默认模板目录的名字。当包含文件时,如果不提供一个源类型(即源地址),那么将会到模板目录中寻找。默认情况下,目录是:“./templates”,也就是说他将会在和php...
  • activity流程变量使用

    千次阅读 2020-06-25 15:39:06
    activity的流程变量的用处总结下来,作用有几点,一是可以动态为某个流程节点设置执行条件,在流程运转的过程中进行传递,第二个就是配合网关和监听器一起控制任务的触发条件,下面先看一个简单的例子 仍然以之前的...
  • PS1-PS4介绍了一些用于提示信息控制的环境变量,而在此之前可以进行回调的一个环境变量就是PROMPT_COMMAND,这个环境变量设定的内容将在交互式脚本的提示(PS1)出现之前被执行。
  • BASH脚本基础:环境变量PS2介绍

    千次阅读 2020-01-29 21:59:58
    这篇文章介绍一下Bash中的环境变量PS2。
  • 最近使用docker时,在docker中安装了Oracle Client,在root用户下将ORACLE_HOME等环境变量配置到了/etc/profile中,当时通过source /etc/profile命令使该文件生效,echo $ORCLE_HOME时也没有问题,但是重启容器以后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 237,331
精华内容 94,932
关键字:

怎么设定控制变量