コード例 #1
0
ファイル: Scene.cs プロジェクト: nguyenngocsonit/PitchPitch
 protected void startTransition(SceneTransitionEndEventHandler del, int transitionTime)
 {
     _transitionEndDel   = del;
     _transitionTimeLong = transitionTime;
     _transitionTime     = transitionTime;
     _prevTransitionTick = Environment.TickCount;
     _transitionStart    = true;
 }
コード例 #2
0
ファイル: Scene.cs プロジェクト: davinx/PitchPitch
 protected void startTransition(SceneTransitionEndEventHandler del)
 {
     startTransition(del, Constants.Time_Transition);
 }
コード例 #3
0
ファイル: Scene.cs プロジェクト: davinx/PitchPitch
 protected void startTransition(SceneTransitionEndEventHandler del, int transitionTime)
 {
     _transitionEndDel = del;
     _transitionTimeLong = transitionTime;
     _transitionTime = transitionTime;
     _prevTransitionTick = Environment.TickCount;
     _transitionStart = true;
 }
コード例 #4
0
ファイル: Scene.cs プロジェクト: nguyenngocsonit/PitchPitch
        /// <summary>
        /// 更新処理
        /// </summary>
        /// <param name="e"></param>
        public void Process(SdlDotNet.Input.KeyboardEventArgs e)
        {
            try
            {
                if (_transitionStart)
                {
                    _transitionTime    -= (int)(Environment.TickCount - _prevTransitionTick);
                    _prevTransitionTick = Environment.TickCount;

                    if (_transitionTime <= 0)
                    {
                        SceneTransitionEndEventHandler del = _transitionEndDel;
                        if (del != null)
                        {
                            _transitionStart = false;
                            del();
                        }
                    }
                }
                else
                {
                    ProcKeyEvent(e);

                    proc(e);

                    int idx = -1; bool pressed = false;
                    foreach (Key k in _keys)
                    {
                        if (Keyboard.IsKeyPressed(k))
                        {
                            pressed = true;
                            if (k == _prevPressedKey)
                            {
                                if (Environment.TickCount - _prevPressTick > Constants.Time_ContinuousKeyStart)
                                {
                                    if (Environment.TickCount - _prevContTick >= Constants.Time_ContinuousKeyDiff)
                                    {
                                        _prevContTick = Environment.TickCount;

                                        idx = procKeyEvent(k);
                                        if (idx >= 0)
                                        {
                                            break;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                _prevPressedKey = k;
                                _prevPressTick  = Environment.TickCount;
                                _prevContTick   = Environment.TickCount;
                            }
                        }
                    }
                    if (!pressed)
                    {
                        _prevPressedKey = Key.Print;
                        _prevPressTick  = Environment.TickCount;
                        _prevContTick   = Environment.TickCount;
                    }

                    procMenu(idx);
                }
            }
            catch (Exception ex)
            {
                SetAlert(true, ex.Message);
            }
        }
コード例 #5
0
ファイル: Scene.cs プロジェクト: nguyenngocsonit/PitchPitch
 protected void startTransition(SceneTransitionEndEventHandler del)
 {
     startTransition(del, Constants.Time_Transition);
 }