Exemplo n.º 1
0
    public void OnUpdate(ActorBall arg_ball)
    {
        //コライダーオブジェクト格納時
        if (arg_ball.colGameObject)
        {
            switch (arg_ball.colGameObject.tag)
            {
            //地形に当たったら戻ってくる
            case "Ground":
            case "PassWall":
                arg_ball.transform.position = Vector3.MoveTowards(arg_ball.transform.position, arg_ball.playerObject.transform.position, 0.5f);
                break;

            //壁に当たったらその座標に移動する
            case "Wall":
            case "Paipu":
                arg_ball.playerObject.transform.position = Vector3.MoveTowards(arg_ball.playerObject.transform.position, arg_ball.hitPosition, 0.5f);
                break;

            //モンスターに当たったらくっつけて戻ってくる
            case "Monster":
                arg_ball.colGameObject.transform.position = arg_ball.transform.position;
                arg_ball.transform.position = Vector3.MoveTowards(arg_ball.transform.position, arg_ball.playerObject.transform.position, 0.5f);
                break;

            default:
                break;
            }
        }//コライダーオブジェクト消失時はそのままプレイヤーの位置へ戻る
        else
        {
            arg_ball.transform.position = Vector3.MoveTowards(arg_ball.transform.position, arg_ball.playerObject.transform.position, 0.5f);
        }

        //プレイヤーの位置まで戻ったら通常時に移行
        if (arg_ball.transform.position == arg_ball.playerObject.transform.position)
        {
            arg_ball.StateTransion(new BallIdle());
        }
    }
Exemplo n.º 2
0
    public void OnUpdate(ActorBall arg_ball)
    {
        Vector3 m_startPostion = Camera.main.ScreenToWorldPoint(arg_ball.m_touchZone.pressStartPosition);

        //角度指定
        float zRotation = Mathf.Atan2(arg_ball.m_touchZone.flickEndPosition.y - m_startPostion.y,
                                      arg_ball.m_touchZone.flickEndPosition.x - m_startPostion.x) * Mathf.Rad2Deg;

        //値格納
        float AngleRotation = zRotation;

        //取得した角度反映
        arg_ball.transform.rotation = Quaternion.Euler(0f, 0f, AngleRotation);

        //移動量
        Vector3 angleVec = arg_ball.transform.rotation * new Vector3(20, 0f, 0);

        //向いている方向に向かって移動
        arg_ball.transform.position += angleVec * Time.deltaTime;

        SoundPlayer.Instance.PlaySE("Shot");
    }
Exemplo n.º 3
0
 public void OnExit(ActorBall arg_ball)
 {
 }
Exemplo n.º 4
0
 public void OnEnter(ActorBall arg_ball)
 {
 }
Exemplo n.º 5
0
 /// <summary>
 /// 毎フレーム呼ばれる処理
 /// </summary>
 /// <param name="arg_ball">Argument player.</param>
 public void OnUpdate(ActorBall arg_ball)
 {
     arg_ball.transform.position = arg_ball.playerObject.transform.position;
 }