Playerを走らせる(ダブルクリック)
![12934461 c780 48e6 9331 070e16469bcc](https://codegenius.org/uploads/slide/image/8179/12934461-c780-48e6-9331-070e16469bcc.jpeg)
ダブルクリックで走る
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float walkSpeed;
private float speed;
private Vector3 movement;
private CharacterController controller;
// ★追加(ラン)
private int clickCount = 0;
public float runSpeed;
void Start()
{
controller = GetComponent<CharacterController>();
speed = walkSpeed;
}
void Update()
{
PlayerMove();
}
void PlayerMove()
{
float moveH = Input.GetAxis("Horizontal");
float moveV = Input.GetAxis("Vertical");
movement = new Vector3(moveH, 0, moveV);
controller.Move(movement * Time.deltaTime * speed);
// ★追加(ラン)
if(Input.GetKeyDown(KeyCode.W))
{
// clickCountを1ずつカウントアップ
clickCount += 1;
Invoke("ResetCount", 0.3f);
}
// ★追加(ラン)
if(Input.GetKeyUp(KeyCode.W)) // wキーから指を離したら移動速度を「歩く」に戻す。
{
speed = walkSpeed;
}
}
// ★追加(ラン)
void ResetCount()
{
// clickCountが2ではない場合、
if(clickCount != 2)
{
// 0に戻す
clickCount = 0;
return;
}
else // clickCountが2の時(0.3秒以内にwキーのダブルクリックが成功した場合)
{
clickCount = 0;
// 移動速度をランにする。
speed = runSpeed;
}
}
}
![90400a4a 16ea 4e6c ad1d 4ed8dfdd7281](https://codegenius.org/uploads/slide/image/8180/90400a4a-16ea-4e6c-ad1d-4ed8dfdd7281.jpeg)
![7f347e19 9789 4d65 941d 54174fec5718](https://codegenius.org/uploads/slide/image/8181/7f347e19-9789-4d65-941d-54174fec5718.jpeg)
【2021版】X_Mission(全34回)
他のコースを見る![12934461 c780 48e6 9331 070e16469bcc](https://codegenius.org/uploads/slide/image/8179/12934461-c780-48e6-9331-070e16469bcc.jpeg)
ダブルクリックで走る
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float walkSpeed;
private float speed;
private Vector3 movement;
private CharacterController controller;
// ★追加(ラン)
private int clickCount = 0;
public float runSpeed;
void Start()
{
controller = GetComponent<CharacterController>();
speed = walkSpeed;
}
void Update()
{
PlayerMove();
}
void PlayerMove()
{
float moveH = Input.GetAxis("Horizontal");
float moveV = Input.GetAxis("Vertical");
movement = new Vector3(moveH, 0, moveV);
controller.Move(movement * Time.deltaTime * speed);
// ★追加(ラン)
if(Input.GetKeyDown(KeyCode.W))
{
// clickCountを1ずつカウントアップ
clickCount += 1;
Invoke("ResetCount", 0.3f);
}
// ★追加(ラン)
if(Input.GetKeyUp(KeyCode.W)) // wキーから指を離したら移動速度を「歩く」に戻す。
{
speed = walkSpeed;
}
}
// ★追加(ラン)
void ResetCount()
{
// clickCountが2ではない場合、
if(clickCount != 2)
{
// 0に戻す
clickCount = 0;
return;
}
else // clickCountが2の時(0.3秒以内にwキーのダブルクリックが成功した場合)
{
clickCount = 0;
// 移動速度をランにする。
speed = runSpeed;
}
}
}
![90400a4a 16ea 4e6c ad1d 4ed8dfdd7281](https://codegenius.org/uploads/slide/image/8180/90400a4a-16ea-4e6c-ad1d-4ed8dfdd7281.jpeg)
![7f347e19 9789 4d65 941d 54174fec5718](https://codegenius.org/uploads/slide/image/8181/7f347e19-9789-4d65-941d-54174fec5718.jpeg)
Playerを走らせる(ダブルクリック)