コード例 #1
0
ファイル: Box2DView.cs プロジェクト: zhuruvl/CocosSharp
        void onKeyReleased(CCEventKeyboard keyEvent)
        {
            var result = Convert(keyEvent);

            if (result.Length > 0)
            {
                m_test.KeyboardUp(result[0]);
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ev"></param>
        protected override void OnKeyReleased(CCEventKeyboard ev)
        {
            base.OnKeyReleased(ev);
            switch (ev.Keys)
            {
            case CCKeys.Left:
                MovementX++;
                SendMovementRequest();
                break;

            case CCKeys.Right:
                MovementX--;
                SendMovementRequest();
                break;
            }
        }
コード例 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 protected virtual void OnKeyPressed(CCEventKeyboard ev)
 {
     InputHelper.Instance.OnKeyPress(ev.Keys);
     switch (ev.Keys)
     {
     case CCKeys.Escape:
         if (!Children.Any(child => child is MainMenuLayer))
         {
             SoundPlayer.Instance.PlayMenuOpened();
             AddChild(new MainMenuLayer());
         }
         else
         {
             SoundPlayer.Instance.PlayMenuClosed();
             RemoveChild(Children.First(child => child is MainMenuLayer));
         }
         break;
     }
 }
コード例 #4
0
        void OnKeyReleased(CCEventKeyboard eventKeyboard)
        {
            //CCLog.Log("On Released " + eventKeyboard.Keys);
            if (eventKeyboard.Keys == CCKeys.Back)
            {
                OnDeleteBackward();
            }
            else
            {
                keyState = eventKeyboard.KeyboardState;
                var charKey = ConvertKey(eventKeyboard.Keys, ShiftDown, false, false);
                if (charKey != (int)CCKeys.None)
                {
                    OnInsertText(new CCIMEKeybardEventArgs(charKey.ToString().ToUpper(), 1));
                }
            }

            lastPressedKey = CCKeys.None;
            if (AutoRepeat)
            {
                StopAutorepeat();
            }
        }
コード例 #5
0
        void OnKeyPressed(CCEventKeyboard eventKeyboard)
        {
            lastPressedKey = CCKeys.None;

            if (eventKeyboard.Keys == CCKeys.Back)
            {
                lastPressedKey = eventKeyboard.Keys;
            }
            else
            {
                keyState = eventKeyboard.KeyboardState;
                var charKey = ConvertKey(eventKeyboard.Keys, ShiftDown, false, false);
                if (charKey != (int)CCKeys.None)
                {
                    lastPressedKey = eventKeyboard.Keys;
                }
            }

            //CCLog.Log("On Pressed " + lastPressedKey);
            if (AutoRepeat && lastPressedKey != CCKeys.None)
            {
                StartAutorepeat();
            }
        }
コード例 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ev"></param>
        protected override void OnKeyPressed(CCEventKeyboard ev)
        {
            base.OnKeyPressed(ev);
            switch (ev.Keys)
            {
            case CCKeys.Left:
                MovementX--;
                SendMovementRequest();
                break;

            case CCKeys.Right:
                MovementX++;
                SendMovementRequest();
                break;

            case CCKeys.A:
                SendSpellUseRequest();
                break;

            case CCKeys.Space:
                SendJumpRequest();
                break;
            }
        }
コード例 #7
0
ファイル: PlayerLayer.cs プロジェクト: whitehair30/GridQuest
 void OnKeyPressed(CCEventKeyboard keyevent)
 {
     //environmentInputs.CurrentInput.Add(keyevent.Keys);
 }
コード例 #8
0
ファイル: PlayerLayer.cs プロジェクト: whitehair30/GridQuest
 void OnKeyReleased(CCEventKeyboard keyevent)
 {
     // environmentInputs.CurrentInput.Remove(keyevent.Keys);
 }
コード例 #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 protected virtual void OnKeyReleased(CCEventKeyboard ev)
 {
     InputHelper.Instance.OnKeyRelease(ev.Keys);
 }
コード例 #10
0
ファイル: Box2DView.cs プロジェクト: zhuruvl/CocosSharp
        public string Convert(CCEventKeyboard keyEvent)
        {
            string output = "";

            var state = new List <CCKeys>(keyEvent.KeyboardState.GetPressedKeys());

            bool usesShift = (state.Contains(CCKeys.LeftShift) || state.Contains(CCKeys.RightShift));

            foreach (CCKeys key in state)
            {
                if (key >= CCKeys.A && key <= CCKeys.Z)
                {
                    output += key.ToString();
                }
                else if (key >= CCKeys.NumPad0 && key <= CCKeys.NumPad9)
                {
                    output += ((int)(key - CCKeys.NumPad0)).ToString();
                }
                else if (key >= CCKeys.D0 && key <= CCKeys.D9)
                {
                    string num = ((int)(key - CCKeys.D0)).ToString();

                    #region special num chars

                    if (usesShift)
                    {
                        switch (num)
                        {
                        case "1":
                        {
                            num = "!";
                        }
                        break;

                        case "2":
                        {
                            num = "@";
                        }
                        break;

                        case "3":
                        {
                            num = "#";
                        }
                        break;

                        case "4":
                        {
                            num = "$";
                        }
                        break;

                        case "5":
                        {
                            num = "%";
                        }
                        break;

                        case "6":
                        {
                            num = "^";
                        }
                        break;

                        case "7":
                        {
                            num = "&";
                        }
                        break;

                        case "8":
                        {
                            num = "*";
                        }
                        break;

                        case "9":
                        {
                            num = "(";
                        }
                        break;

                        case "0":
                        {
                            num = ")";
                        }
                        break;

                        default:
                            //wtf?
                            break;
                        }
                    }

                    #endregion

                    output += num;
                }
                else if (key == CCKeys.OemComma)
                {
                    output += ",";
                }
                else if (key == CCKeys.OemPeriod)
                {
                    output += ".";
                }
                else if (key == CCKeys.OemTilde)
                {
                    output += "'";
                }
                else if (key == CCKeys.Space)
                {
                    output += " ";
                }
                else if (key == CCKeys.OemMinus)
                {
                    output += "-";
                }
                else if (key == CCKeys.OemPlus)
                {
                    output += "+";
                }
                else if (key == CCKeys.OemQuestion && usesShift)
                {
                    output += "?";
                }
                else if (key == CCKeys.Back) //backspace
                {
                    output += "\b";
                }

                if (!usesShift) //shouldn't need to upper because it's automagically in upper case
                {
                    output = output.ToLower();
                }
            }
            return(output);
        }