精华内容
下载资源
问答
  • Matlab getkey

    千次阅读 2014-03-28 17:30:21
    matlab 循环里面获取键盘输入 function [ch, tim] = getkey(N,nonascii) ...% CH = GETKEY waits for a single keypress and returns the ASCII code. It % accepts all ascii characters, i

    matlab 循环里面获取键盘输入


    function [ch, tim] = getkey(N,nonascii)
    
    % GETKEY - get a keypress
    %   CH = GETKEY waits for a single keypress and returns the ASCII code. It
    %   accepts all ascii characters, including backspace (8), space (32),
    %   enter (13), etc, that can be typed on the keyboard.
    %   Non-ascii keys (ctrl, alt, ..) return a NaN. CH is a double.
    %
    %   CH = GETKEY(N) waits for N keypresses and returns their ASCII codes.
    %   GETKEY(1) is the same as GETKEY without arguments.
    %
    %   GETKEY('non-ascii') or GETKEY(N,'non-ascii') uses non-documented
    %   matlab features to return a string describing the key pressed.
    %   In this way keys like ctrl, alt, tab etc. can also distinguished.
    %   The return is a string (when N = 1) or a cell array of strings.
    %
    %   [CH,T] = GETKEY(...) also returns the time between the start of the
    %   function and each keypress. This is, however, not that accurate.
    %
    %   This function is kind of a workaround for getch in C. It uses a modal,
    %   but non-visible window, which does show up in the taskbar.
    %   C-language keywords: KBHIT, KEYPRESS, GETKEY, GETCH
    %
    %   Examples:
    %
    %    fprintf('\nPress any key: ') ;
    %    ch = getkey ;
    %    fprintf('%c\n',ch) ;
    %
    %    fprintf('\nPress the Ctrl-key within 3 presses: ') ;
    %    ch = getkey(3,'non-ascii')
    %    if ismemmber('control', ch),
    %      fprintf('OK\n') ;
    %    else
    %      fprintf(' ... wrong keys ...\n') ;
    %    end
    %
    %  See also INPUT, UIWAIT
    %           GETKEYWAIT (File Exchange)
    
    % for Matlab 6.5 and higher
    % version 2.0 (jun 2012)
    % author : Jos van der Geest
    % email  : jos@jasen.nl
    %
    % History
    % 1.0 2005 - creation
    % 1.1 dec 2006 - modified lay-out and help
    % 1.2 apr 2009 - tested for more recent MatLab releases
    % 1.3 jan 2012 - modified a few properties, included check is figure still
    %            exists (after comment on FEX by Andrew).
    % 2.0 jun 2012 - added functionality to accept multiple key presses
    
    t00 = tic ; % start time of this function
    
    % check the input arguments
    error(nargchk(0,2,nargin))
    switch nargin
        case 0
            nonascii = '' ;
            N = 1 ;
        case 1
            if ischar(N),
                nonascii = N ;
                N = 1 ;
            else
                nonascii = '' ;
            end
    end
    
    if numel(N) ~= 1 || ~isnumeric(N) || N < 1 || fix(N) ~= N
        error('N should be a positive integer scalar.') ;
    end
    
    % Determine the callback string to use
    if strcmpi(nonascii,'non-ascii'),
        % non-ascii characters are accepted
        nonascii = true ;
        callstr = 'set(gcbf,''Userdata'',get(gcbf,''Currentkey'')) ; uiresume ' ;
    elseif isempty(nonascii)
        nonascii = false ;
        % only standard ascii characters are accepted
        callstr = 'set(gcbf,''Userdata'',double(get(gcbf,''Currentcharacter''))) ; uiresume ' ;
    else
        error('String argument should be the string ''non-ascii''') ;
    end
    
    % Set up the figure
    % May be the position property  should be individually tweaked to avoid visibility
    fh = figure(...
        'name','Press a key', ...
        'keypressfcn',callstr, ...
        'windowstyle','modal',...
        'numbertitle','off', ...
        'position',[0 0  1 1],...
        'userdata','timeout') ;
    try
        ch = cell(1,N) ;
        tim = zeros(1,N) ;
        
        % loop to get N keypresses
        for k=1:N
            % Wait for something to happen, usually a key press so uiresume is
            % executed
            uiwait ;
            tim(k) = toc(t00) ; % get the time of the key press
            ch{k} = get(fh,'Userdata') ;  % and the key itself
            if isempty(ch{k}),
                if nonascii
                    ch{k} = NaN ;
                else
                    ch{k} = '' ;
                end
            end
        end
        if ~nonascii
            ch = [ch{:}] ;
        else
            if N==1
                ch = ch{1} ; % return as a string
            end
            % return as a cell array of strings
        end
     catch
        % Something went wrong, return empty matrices.
        ch = [] ;
        tim = [] ;
    end
    
    % clean up the figure, if it still exists
    if ishandle(fh)
        delete(fh) ;
    end


    展开全文
  • GetKey、GetButton,GetAxis及Input Manager

    千次阅读 2018-09-12 21:22:09
    GetKey传入参数为按键名称或KeyCode,而GetButton、GetAxis传入参数只能为InputManager中定义的轴键。 GetKey,GetKeyDown,GetKeyUp可以通过传入String类型的按键名称来获得按键。 按键名称如下: 普通键:“a”...

    开头总结没见过吧:

    GetKey传入参数为按键名称或KeyCode,而GetButton、GetAxis传入参数只能为InputManager中定义的轴键。

    GetKey,GetKeyDown,GetKeyUp可以通过传入String类型的按键名称来获得按键。

    按键名称如下:

    • 普通键:“a”,“b”,“c”......
    • 数字键:“1”,“2”,“3”,......
    • 箭头键:“up”, “down”, “left”, “right”
    • 键盘键:“[1]”, “[2]”, “[3]”, “[+]”, “[equals]”
    • 修改键:“right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”, “right cmd”, “left cmd”
    • 鼠标按钮:“mouse 0”, “mouse 1”, “mouse 2”, …
    • 操纵杆按钮(来自任意操纵杆):“joystick button 0”, “joystick button 1”, “joystick button 2”, …
    • 操纵杆按钮(来自特定操纵杆):“joystick 1 button 0”, “joystick 1 button 1”, “joystick 2 button 0”, …
    • 特殊键: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down”
    • 功能键:“f1”,“f2”,“f3”,...

    除此之外,GetKey,GetKeyDown,GetKeyUp除了可以传入上述按键名称之外还可以直接通过KeyCode直接获得按键,这里有一段代码,顺道提了GetKey的用法(这是很简单的):

    bool held = Input.GetKey(KeyCode.Space);

    按住空格键时,GetKey会当按键被按住时持续返回true值,held被持续赋值为true,直到空格键松开为止。

    GetKeyDown在按键按下瞬间返回true,GetKeyUp则在按键松开时返回true;

    KeyCode.R表示R键,KeyCode.T表示T键这样,特殊键请自行查询api :KeyCode

     

    GetButton,GetButtonDown,GetButtonUp的返回情况跟上面一样,不过这里传入的参数只能是InputManager中定义的轴键

    bool down = Input.GetButtonDown("Jump");

    打开下面看到InputManager:

    Edit->project settings->Input打开input manager

     

    GetAxis返回的是一个正1到负1的float值(1 ~ -1)(这里注意:这是对于键盘和操纵杆输入,该值将在-1 ... 1的范围内。如果轴设置为增量鼠标移动,则鼠标增量乘以轴灵敏度(见InputManager属性)),传入参数是InputManager中定义的轴。

    public float speed = 10.0f;          //行驶速度
    public float rotationSpeed = 100.0f; //转向速度
    void Update()
    {
            //使用上下箭头或者W、S键来控制前进后退
            float translation = Input.GetAxis("Vertical") * speed;
           
            //使用左右箭头或者A、D键来控制左右旋转
            float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
    
            translation *= Time.deltaTime;
            rotation *= Time.deltaTime;
            //在x-z平面上移动
            transform.Translate(0, 0, translation);
            transform.Rotate(0, rotation, 0);
    }
    float deltaX = Input.GetAxis("Mouse X");

    GetAxis从0变到+1或-1,每一步增加/减少0.05f。 GetAxisRaw立即从0更改为1或-1。

    InputManager属性(这里如果有错漏请斧正):

    每个项目在创建时都具有以下默认输入轴(15个):

    • HorizontalVertical映射到w,a,s,d和箭头键。
    • Fire1Fire2Fire3分别映射到Control,Option(Alt)和Command。
    • MouseXMouseY映射到鼠标移动的增量。

    Axes Contains all the defined input axes for the current project: Size is the number of different input axes in this project, Element 0, 1, … are the particular axes to modify.。(输入轴数量)
    Property: Function:
    Name The name of the string used to check this axis from a script. (轴名,该String将可作为 Input.GetAxis() 的传入参数) 
    Descriptive Name Positive value name displayed in the input tab of the Configuration dialog for standalone builds
    .(见下图,Descriptive Name会显示在游戏build and run后打开时会进入的configuration中input中)
    Descriptive Negative Name Negative value name displayed in the Input tab of the Configuration dialog for standalone builds.(configuration->input中负向按钮描述)
    Negative Button The button used to push the axis in the negative direction.(负向按钮对应的键(见本文开头按键名称))
    Positive Button The button used to push the axis in the positive direction.(正向按钮对应的键)
    Alt Negative Button Alternative button used to push the axis in the negative direction.(正向等效替代按钮)
    Alt Positive Button Alternative button used to push the axis in the positive direction.(反向等效替代按钮)
    Gravity Speed in units per second that the axis falls toward neutral when no buttons are pressed.(回弹,回到中心的速度)
    Dead Size of the analog dead zone. All analog device values within this range result map to neutral.(此范围内的值都将返回为无效值)
    Sensitivity Speed in units per second that the axis will move toward the target value. This is for digital devices only.(灵敏度)
    Snap If enabled, the axis value will reset to zero when pressing a button of the opposite direction.(启用,则按下相反方向的按钮时,轴值将重置为零。)
    Invert If enabled, the Negative Buttons provide a positive value, and vice-versa.(启用,则输出反转)
    Type The type of inputs that will control this axis.(键盘/鼠标按钮 (Key/Mouse Button)用于任何类型的按钮,鼠标移动 (Mouse Movement) 用于鼠标增量和滚轮,游戏杆轴 (Joystick Axis) 用于模拟游戏杆轴)
    Axis The axis of a connected device that will control this axis.(设备轴将控制此轴)
    Joy Num The connected Joystick that will control this axis.(将控制第几joystick
    默认情况下设置为检索来自所有游戏杆的输入。仅用于输入轴,不包括按钮。

     

    (unity项目 run后打开时就会弹出此设置框)

     

    展开全文
  • # U3D中C#无法调用input.getkey 打出input.后没有Getkey之类的![图片说明](https://img-ask.csdn.net/upload/201904/08/1554722866_932074.png) 手动打完之后就出现红色波浪线 ![图片说明]...
  • [Unity]getkey()与getkeydown()

    万次阅读 2018-05-19 17:05:45
    今天研究了一下getkey和getkeydown+getkeyup GetKey 当通过名称指定的按键被用户按住时返回true GetKeyDown 当用户按下指定名称的按键时的那一帧返回true。 GetKeyUp 在用户释放给定名字的按键的那一帧返回...

    今天研究了一下GetKey和GetKeyDown以及GetKeyUp

    GetKey 当通过名称指定的按键被用户按住时返回true
    GetKeyDown 当用户按下指定名称的按键时的那一帧返回true。
    GetKeyUp 在用户释放给定名字的按键的那一帧返回true。

    getkeydown+up可以加上一个bool类型的变量搭配使用(Trigger也行)
    在Update()中
    比如说getkeydown,当我按下某个键时,就进入条件判断(因为是在update中每一帧都进行检测,所以如果持续按下就一直为true进入条件),当我松开时,就退出,并设置相应的操作
    比如说一个人跑步,按下空格时,setbool设置相应的bool值播放跑步的动画,如果松开了,就setbool为false
    但是限定条件是在Update()中,如果在Update()外面的话,再使用GetKeyDown 就是只进入一次了

    另外
    GetKey是可以用于持续按下的过程,等于说只要不松开,就能一直进入条件语句,这样就可以在Update外使用。

    展开全文
  • UnityEngine.Input.GetKey(string name)方法参数表 原文:https://answers.unity.com/questions/762073/c-list-of-string-name-for-inputgetkeystring-name.html 参考:...

    UnityEngine.Input.GetKey(string name)方法参数表

    原文:https://answers.unity.com/questions/762073/c-list-of-string-name-for-inputgetkeystring-name.html
    参考:https://docs.unity3d.com/ScriptReference/KeyCode.html

    按键名称及测试脚本:

    using UnityEngine;
    
    public class Test : MonoBehaviour
    {
        private string[] keyNames = new string[]
        {
            // 辅助键
            "left shift", "right shift",
            "left ctrl", "right ctrl",
            "left alt", "right alt",
            // 空格键
            "space",
            // 方向键
            "up", "down", "right", "left",
            // 取消键
            "escape",
            // f1~f15键
            "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",
            "f9", "f10", "f11", "f12", "f13", "f14", "f15",
            // 数字键
            "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            // 字母键
            "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
            "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
            // 符号键(没有 “~” 和 “%”)
            "`", "!", "@", "#", "$", "^", "&", "*", "(", ")", "-", "_", "=", "+",
            "[", "]", "\\", ";", ":", "'", "\"", ",", "<", ".", ">", "/", "?",
            // 编辑键
            "tab", "backspace", "delete",
            "home", "end", "insert",
            "page up", "page down",
            // 锁定键
            "caps lock",
            "numlock",
            "scroll lock",
            // 其他键
            "pause", "clear", "return",
        };
    
        private void Update()
        {
            foreach (var keyName in keyNames)
            {
                if (Input.GetKeyDown(keyName))
                {
                    Debug.Log(keyName);
                }
            }
        }
    }
    
    
    展开全文
  • GetKey()、GetKeyDown()以及GetKeyUp()这三个再Unity里面经常会用到,我在学习Unity的时候并没有深挖这三者的区别,直到有一次使用时出现了错误,就是用GetKeyDown来使角色移动时发现移动不了,梳理后才发现要用Get...
  • 通过set key value来存储,通过get key来获取值 set key value:设置key的值,若存在则覆盖 setnx key value:SET if Not eXists,若存在则不操作。 MSET key1 value1 key2 value2 ... keyN valueN:设置这些key的值,...
  • 解决redis-cli linux下get key的中文内容为乱码   redis-cli 后面加上 --raw 解决中文显示问题   redis-cli -h 127.0.0.1 -p 端口 -a 密码 --raw
  • 采用递归的方式,遍历JSON中所有的KEY。JSON格式如下:{"username":"tom","age":18,"address":[{"province":"上海市"},{"city":"上海市"},{"disrtict":"静安区"}]}处理后,得到的结果如下:address|province|city|...
  • C51中 Putchar、 _getkey(void)的替换

    千次阅读 2015-11-13 16:39:29
    1、拷贝KEIL C51下LIB目录中的PUTCHAR.C和GETKEY.C文件到你的项目目录下,并且将其添加到你的工程中2、PUTCHAR.C原代码如下/***********************************************************************/ /* This ...
  • Python Get Key press

    千次阅读 2010-05-06 22:36:00
    refer from: http://www.daniweb.com/forums/thread115282.html#python Syntax (Toggle Plain Text) # respond to a key without the need to press enter import Tkinter
  • The getKey method should only be used when a single key is returned. The current key entry contains multiple keys 而后百度上查资料,终于找到解决方式,把Statement.RETURN_GENERATED_KEYS改成new String...
  • Input类中包含许多属性和方法,下面介绍一下和键盘输入有关的内容 ...get 当前是否按住任意键或鼠标按钮 anyKeyDown bool get 是否按下任意键 using UnityEngine; public class Examp...
  • redis-cli 后面加上 --raw 解决中文显示问题 redis-cli -h 127.0.0.1 -p 端口 -a 密码--raw 不带 --raw 参数: redis-cli -h 10.168.99.70 -p 6379 10.168.99.70:6379>... get a...
  • unity3d中的GetKey与GetKeyDown函数

    千次阅读 2018-12-31 10:48:16
    对于GetKey函数,其是判断鼠标是处于按下还是松起的状态,如果是按下的则返回真,相反的话则返回为假。 这两个函数最重要的区别是:GetKeyDown是判断按键按下的动作,如果动作发生则返回为真,与按键的状态无关。...
  • 在php使用opensll的时候抛出异常: openssl_pkey_export(): cannot get key from parameter 1 异常 解决方法: 打开环境变量,添加 openssl.cnf 文件到系统环境变量 变量名:OPENSSL_CONF ...
  • 要处理一个文档集合,需要统计出corpus包含的所有单词,即统计出一个词汇表,词汇表中需要保存单词和相应的索引。...但是jdk中的map类只支持根据key来获取value,如果要根据value获取key就需要使用
  • System.out.println(entry.getKey()+" entry.getKey()"); asqSingle.setAsqNum(auto.size()); asqSingle.setNsqNum(manual.size()); asqSingle.setAuto(auto); asqSingle.setManual(manual); //每个支架数据作为...
  • import java.util.ArrayList; import java.util.HashMap; /** * 用lamdba 一次性... for(Map.Entry entry : map.entrySet()){ System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue()) } ​
  • MapX SetKeyField及GetKeyValue使用举例。

    千次阅读 2007-10-29 22:34:00
    /**//*MapInfo Products Knowledge BaseProduct: MapXVersion: 5.xPlatform: Not Platform RelatedCategory: VC++ Code SamplesSummary:Extract data from a layer using the keyvalue/keyfield ...
  • @Test public void test4(){ ... String key=(String) entry.getKey(); String valu=(String) entry.getValue(); System.out.println(key + "=" + valu); } } 无法运行出想要的结果,为什么?
  • $public_key = openssl_pkey_get_details($res); // var_dump($public_key); $public_key=$public_key["key"]; //显示数据 var_dump($private_key); //私钥 echo " "; var_dump($public_key); //公钥 echo ...
  • 从stackoverflow上找到的解决方案,想加到浏览器收藏夹里,发现收藏夹里的东西实在太多了,而且不能搜索和排序,找起来非常不方便。 感谢国外的程序员,他们真的回答问题很有质量。 ...
  •  }关于map.getKey()遍历date的时候,因为datelist里面的d根本就不是templist里面的key,所以List tempList = tempMap.get(d);是取不出来结果的,就算是null也取不出来结果for (Date d : dateList) { List tempList ...
  • 此处Input.GetKeyUp()嵌套在Input.GetKey()方法里面,感觉逻辑没有问题,但实际运行后,会出现这样一个问题:当空格键弹起时,很多时候Sphere并没有发射出去,一旦发射出去,又发射的特别远。代码改成如下后,问题...
  • Redis Get 命令 - 获取指定 key 的值。

    千次阅读 2019-08-11 13:31:49
    Redis Get 命令 - 获取指定 key 的值。 Redis 字符串(string) Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。 语法 redis Get 命令基本...
  • java中hashmap(key,value)的key和value都可以是null 我们看hashmap中get()和... Node结论如果java程序对 key不存在和key存在但是存的值是null这两种情况处理相同一视同仁,则可以直接使用T t = map.get(key); if(t
  • 在下面直接编写map.get(key).tostring空指针异常。。。 //这样直接写getkey).toString();出现空指针异常该如何编写这段代码 String name=(String)childData1.get(health_person_txt_name).toString(); ...
  • java 中 map.get(key) 的类型转换

    万次阅读 2017-03-02 18:27:23
    一般在开发中会遇到map.get(key) 获取值得时候,会有强转问题 解决方发: 就是将map.getkey) 转换成String类型,然后在用String转换成其他类型 如:  copy 转换成int类型: Integer.parseInt(map.get(key...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,027
精华内容 47,210
关键字:

getkey