Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        UnitySingleTouchAction     touchAction = SceneShare.Instance.GetInput().GetSingleTouchAction();
        UnitySingleTouchDragAction dragAction  = SceneShare.Instance.GetInput().GetSingleTouchDragAction();

        touchAction.Update();
        dragAction.Update();

        //touchAction.PrintDifference();
        dragAction.PrintDifference();

        //if (dragAction.IsDragging()) {
        //    MhCommon.Print("dragging");
        //}
        //if (dragAction.IsDragBegan()) {
        //    MhCommon.Print("dragBegan");
        //}
        //if (touchAction.IsDragging()) {
        //MhCommon.Print("dragging");
        //Vector3 sp = touchAction.GetDragEndPosition();
        //Vector3 sp = touchAction.GetDragCurrentPosition();

        //MhCommon.Print("x = " + sp.x + " y = " + sp.y + " z = " + sp.z);

        //}
    }
Esempio n. 2
0
 /// <summary>
 /// ステータス更新処理
 /// </summary>
 /// <param name="elapsedTime">前回実行からの経過時間</param>
 /// <param name="touchAction">タッチ入力クラス</param>
 /// <param name="dragAction">ドラッグ入力クラス</param>
 public void Update(float elapsedTime, UnitySingleTouchAction touchAction, UnitySingleTouchDragAction dragAction)
 {
     StgPlayerAttackState.state state = current.Update(elapsedTime, touchAction, dragAction);
     if (state != currentState)
     {
         SetCurrentState(state);
     }
 }
 /// <summary>
 /// 更新処理
 /// </summary>
 /// <param name="elapsedTime">前回からの経過時間</param>
 /// <param name="touchAction">タッチ情報</param>
 /// <param name="dragAction">ドラッグ情報</param>
 public void Update(float elapsedTime, UnitySingleTouchAction touchAction, UnitySingleTouchDragAction dragAction)
 {
     // 一定時間ごとに攻撃
     currentShootInterval -= elapsedTime;
     if (currentShootInterval <= 0.0f)
     {
         // 攻撃処理
         ExecuteShoot();
         // 攻撃再間隔設定
         ResetInterval();
     }
 }
Esempio n. 4
0
    // Update is called once per frame
    public override void Update()
    {
        UnitySingleTouchAction     touchAction = SceneShare.Instance.GetInput().GetSingleTouchAction();
        UnitySingleTouchDragAction dragAction  = SceneShare.Instance.GetInput().GetSingleTouchDragAction();

        touchAction.Update();
        dragAction.Update();

        // 移動処理
        Move();
        // 攻撃処理
        Attack();
    }
Esempio n. 5
0
    private void Attack()
    {
        Rigidbody2D rigidbody2D = GetComponent <Rigidbody2D>();

        MhCommon.Assert(rigidbody2D != null, "StgPlayer::Attack() rigidbody2D null");
        MhCommon.Assert(attack != null, "StgPlayer::Attack() StgPlayerAttack null");

        UnitySingleTouchAction     touchAction = SceneShare.Instance.GetInput().GetSingleTouchAction();
        UnitySingleTouchDragAction dragAction  = SceneShare.Instance.GetInput().GetSingleTouchDragAction();

        attackNew.Update(Time.deltaTime, touchAction, dragAction);
        // 発射位置を設定
        //attack.Update();
    }
Esempio n. 6
0
    private void Move()
    {
        //UnitySingleTouchAction touchAction = SceneShare.Instance.GetInput().GetSingleTouchAction();
        UnitySingleTouchDragAction dragAction = SceneShare.Instance.GetInput().GetSingleTouchDragAction();

        //dragAction.PrintDifference();
        if ((dragAction.IsDragMoved()) || (dragAction.IsDragStationary()))
        {
            // 前フレームとの差分からドラッグ移動を算出
            Vector3 before  = dragAction.GetApplicationDragBefore1FramePosition();
            Vector3 current = dragAction.GetApplicationDragCurrentPosition();

            Vector3 diffarence = current - before;
            if (!isDragRaw)
            {
                // 正規化+速度をかけ合わせてドラッグを反映
                float   speed     = 9.0f;
                Vector2 direction = new Vector2(diffarence.x, diffarence.y).normalized;
                GetComponent <Rigidbody2D>().velocity = direction * speed;
            }
            else
            {
                // ほぼ無加工でドラッグを反映
                Vector2 direction = new Vector2(diffarence.x, diffarence.y);
                GetComponent <Rigidbody2D>().velocity = direction;
            }
        }
        else
        {
            Vector2 direction = new Vector2(0, 0).normalized;
            GetComponent <Rigidbody2D>().velocity = direction;
        }

        /*
         * if (touchAction.IsTouchBegan()) {
         * float x = 0.0f;
         * float y = -0.2f;
         * float speed = 1.0f;
         * Vector2 direction = new Vector2(x, y).normalized;
         * GetComponent<Rigidbody2D>().velocity = direction * speed;
         * }
         */
    }
 public override state Update(float elapsedTime, UnitySingleTouchAction touchAction, UnitySingleTouchDragAction dragAction)
 {
     MhCommon.Assert(playerScript != null, "StgPlayerAttackPower5State::Update() playerScript null");
     // 発射位置の設定
     shoot.SetShootPosition(playerScript.GetShootPosition());
     shoot.SetShootOffset(new Vector3(0.0f, 0.0f, 0.0f));
     // 発射更新処理
     shoot.Update(elapsedTime, touchAction, dragAction);
     return(state.Power6);
 }
Esempio n. 8
0
 /// <summary>
 /// 入力更新処理
 /// </summary>
 /// <param name="elapsedTime">前回からの経過時間</param>
 /// <param name="touchAction">入力クラス</param>
 /// <param name="dragAction">ドラッグ入力クラス</param>
 /// <returns>次のステータス</returns>
 public virtual state Update(float elapsedTime, UnitySingleTouchAction touchAction, UnitySingleTouchDragAction dragAction)
 {
     return(state.Power1);
 }
Esempio n. 9
0
 public void Update(float elapsedTime, UnitySingleTouchAction touchAction, UnitySingleTouchDragAction dragAction)
 {
     attackStateContext.Update(elapsedTime, touchAction, dragAction);
 }
Esempio n. 10
0
 public InputSystem()
 {
     unitySingleTouchAction     = new UnitySingleTouchAction();
     unitySingleTouchDragAction = new UnitySingleTouchDragAction();
 }