アイテムの作成③(移動速度アップ)
![594975a4 27af 4eea 875d ce44956f3f29](https://codegenius.org/uploads/slide/image/7645/594975a4-27af-4eea-875d-ce44956f3f29.jpeg)
![61bc3b58 71a4 43de a453 53a6bbc8cac6](https://codegenius.org/uploads/slide/image/7646/61bc3b58-71a4-43de-a453-53a6bbc8cac6.jpeg)
移動速度アップ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
// ★変更(privateに変更する)
// 初期の移動速度は遅くすること
private float moveSpeed = 0.1f;
private Vector3 pos;
void Update()
{
float moveH = Input.GetAxis("Horizontal") * moveSpeed;
float moveV = Input.GetAxis("Vertical") * moveSpeed;
transform.Translate(moveH, 0, moveV);
MoveClamp();
}
void MoveClamp()
{
pos = transform.position;
pos.x = Mathf.Clamp(pos.x, -10, 10);
pos.z = Mathf.Clamp(pos.z, -10, 10);
transform.position = pos;
}
// ★追加
public void AddMoveSpeed(float amount)
{
moveSpeed += amount;
// 上限の設定
if(moveSpeed > 0.4f)
{
moveSpeed = 0.4f;
}
}
}
![B9b2f8bd 0a8d 4d87 8626 1b48031fde66](https://codegenius.org/uploads/slide/image/7647/b9b2f8bd-0a8d-4d87-8626-1b48031fde66.jpeg)
移動速度アップアイテム
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveSpeedUp : ItemBase // クラス継承(ポイント)
{
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
ItemGet(); // スーパークラスで定義されたメソッドを使うことができる。
other.GetComponent<PlayerMovement>().AddMoveSpeed(0.1f);
}
}
}
![Fcfabce0 f570 4bfb 8b15 fa290f3805ae](https://codegenius.org/uploads/slide/image/7648/fcfabce0-f570-4bfb-8b15-fa290f3805ae.jpeg)
![6438e08a ab61 4bc5 a9a5 91b1e4b46b75](https://codegenius.org/uploads/slide/image/7649/6438e08a-ab61-4bc5-a9a5-91b1e4b46b75.jpeg)
![Ddcfc60c 53ba 4ec5 9b90 2ebf93987a99](https://codegenius.org/uploads/slide/image/7650/ddcfc60c-53ba-4ec5-9b90-2ebf93987a99.jpeg)
![40b44324 e9d6 429f 8907 4349c7182582](https://codegenius.org/uploads/slide/image/7651/40b44324-e9d6-429f-8907-4349c7182582.jpeg)
【2021版】Danmaku(基礎/全55回)
他のコースを見る![594975a4 27af 4eea 875d ce44956f3f29](https://codegenius.org/uploads/slide/image/7645/594975a4-27af-4eea-875d-ce44956f3f29.jpeg)
![61bc3b58 71a4 43de a453 53a6bbc8cac6](https://codegenius.org/uploads/slide/image/7646/61bc3b58-71a4-43de-a453-53a6bbc8cac6.jpeg)
移動速度アップ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
// ★変更(privateに変更する)
// 初期の移動速度は遅くすること
private float moveSpeed = 0.1f;
private Vector3 pos;
void Update()
{
float moveH = Input.GetAxis("Horizontal") * moveSpeed;
float moveV = Input.GetAxis("Vertical") * moveSpeed;
transform.Translate(moveH, 0, moveV);
MoveClamp();
}
void MoveClamp()
{
pos = transform.position;
pos.x = Mathf.Clamp(pos.x, -10, 10);
pos.z = Mathf.Clamp(pos.z, -10, 10);
transform.position = pos;
}
// ★追加
public void AddMoveSpeed(float amount)
{
moveSpeed += amount;
// 上限の設定
if(moveSpeed > 0.4f)
{
moveSpeed = 0.4f;
}
}
}
![B9b2f8bd 0a8d 4d87 8626 1b48031fde66](https://codegenius.org/uploads/slide/image/7647/b9b2f8bd-0a8d-4d87-8626-1b48031fde66.jpeg)
移動速度アップアイテム
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveSpeedUp : ItemBase // クラス継承(ポイント)
{
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
ItemGet(); // スーパークラスで定義されたメソッドを使うことができる。
other.GetComponent<PlayerMovement>().AddMoveSpeed(0.1f);
}
}
}
![Fcfabce0 f570 4bfb 8b15 fa290f3805ae](https://codegenius.org/uploads/slide/image/7648/fcfabce0-f570-4bfb-8b15-fa290f3805ae.jpeg)
![6438e08a ab61 4bc5 a9a5 91b1e4b46b75](https://codegenius.org/uploads/slide/image/7649/6438e08a-ab61-4bc5-a9a5-91b1e4b46b75.jpeg)
![Ddcfc60c 53ba 4ec5 9b90 2ebf93987a99](https://codegenius.org/uploads/slide/image/7650/ddcfc60c-53ba-4ec5-9b90-2ebf93987a99.jpeg)
![40b44324 e9d6 429f 8907 4349c7182582](https://codegenius.org/uploads/slide/image/7651/40b44324-e9d6-429f-8907-4349c7182582.jpeg)
アイテムの作成③(移動速度アップ)