/******************************************************************* * * ロボットがジャンプできるか調べる処理 * *****************************************************************/ void CheckJumping() { // Rayを生成 this.ray = new Ray(transform.position + Vector3.up / 2, transform.forward); this.upRay = new Ray(transform.position + Vector3.up * 2, transform.forward); //// Rayを視覚的に描画 //Debug.DrawRay(ray.origin, ray.direction * RAY_LENGTH, Color.blue); //Debug.DrawRay(upRay.origin, upRay.direction * RAY_LENGTH, Color.red); // ロボットの前方にあるRayがHitし、ロボットの上方にあるRayがHitしていなければ if (Physics.Raycast(ray, out rayHit, RAY_LENGTH, jumpLayerMask) && !Physics.Raycast(upRay, RAY_LENGTH)) { // Bボタンでジャンプ処理 if (xboxInput.Check(XboxInput.KEYMODE.DOWN, XboxInput.PAD.KEY_B)) { // スタート地点、中間地点、最終地点の座標格納 this.startPoint = transform.position; this.wayPoint = (transform.position + rayHit.transform.position) * 0.5f + Vector3.up * jumpForce; this.endPoint = rayHit.transform.position + Vector3.up * 2; // スピード初期化、目的地にプレイヤーを向ける、ジャンプ状態へ this.moveDirection = Vector3.zero; this.rigidBody.velocity = Vector3.zero; Vector3 dir = (rayHit.transform.position - transform.position).normalized; transform.rotation = Quaternion.LookRotation(new Vector3(dir.x, 0.0f, dir.z)); this.playerState = PLAYER_STATE._JUMP; } } }
void FixedUpdate() { // ロック中ならこれ以降処理を読まない if (GameMgr.IsLock) { return; } // プレイヤーが生成されていたら if (prefab) { // 現在ゲーム上にいるロボットの稼働時間を引いていく --playerController._LifeTime; } // Playerが生成されてなく else { // 見下ろし視点カメラ表示 if (!LookingDownCamera.activeSelf) { LookingDownCamera.SetActive(true); } // Xボタンを押したらロボット生成 if (xboxInput.Check(XboxInput.KEYMODE.DOWN, XboxInput.PAD.KEY_X)) { GenerateRobot(); } } // MENUボタンを押すとMENU画面へ if (xboxInput.Check(XboxInput.KEYMODE.DOWN, XboxInput.PAD.KEY_MENU)) { ShowingMenu(); } xboxInput.Initialize(); // 入力初期化 }
void FixedUpdate() { //// ロック中ならこれ以降処理を読まない //if (GameMgr.IsLock) { return; } // プレイヤーが生成されていたら if (prefab) { // 現在ゲーム上にいるロボットの稼働時間を引いていく --playerController._LifeTime; } // Playerが生成されてなく else { // Xボタンを押したらロボット生成 if (xboxInput.Check(XboxInput.KEYMODE.DOWN, XboxInput.PAD.KEY_X)) { GenerateRobot(); } } xboxInput.Initialize(); // 入力初期化 }