マイロボットの作成2
![1bb77377 ef50 4e4c 88fb 29e1ca482f76](https://codegenius.org/uploads/slide/image/7886/1bb77377-ef50-4e4c-88fb-29e1ca482f76.jpeg)
![E88c9656 4430 4d80 9c30 11b341d1ba0f](https://codegenius.org/uploads/slide/image/7887/e88c9656-4430-4d80-9c30-11b341d1ba0f.jpeg)
![2a90ac36 716f 4cb4 b161 e94d4e93a842](https://codegenius.org/uploads/slide/image/7888/2a90ac36-716f-4cb4-b161-e94d4e93a842.jpeg)
![622ec598 d862 410f af58 339c2dc8bd5f](https://codegenius.org/uploads/slide/image/7889/622ec598-d862-410f-af58-339c2dc8bd5f.jpeg)
自動プロパティの設定
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyMove : MonoBehaviour
{
// ★改良
// 「自動プロパティ」をネットで調べてみよう!
public float MoveSpeed { get; set; } // 自動プロパティの設定(ポイント)
private float maxDis = 0.75f;
private string tagName;
// ★改良
private void Start()
{
MoveSpeed = 5;
}
void Update()
{
// ★改良
transform.Translate(Vector3.forward * MoveSpeed * Time.deltaTime);
RaycastHit hit;
Ray ray = new Ray(transform.position, transform.forward);
Debug.DrawRay(transform.position, transform.forward * maxDis, Color.red);
if(Physics.Raycast(ray, out hit, maxDis))
{
GameObject target = hit.collider.gameObject;
tagName = target.tag;
switch (tagName)
{
case "Right":
transform.localRotation = Quaternion.Euler(0, transform.eulerAngles.y + 90, 0);
break;
case "Left":
transform.localRotation = Quaternion.Euler(0, transform.eulerAngles.y + 270, 0);
break;
}
}
}
}
![3d7b5e50 6ea8 41d2 8dda dcd85fc3e975](https://codegenius.org/uploads/slide/image/7890/3d7b5e50-6ea8-41d2-8dda-dcd85fc3e975.jpeg)
敵の移動速度を低下させる
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveSlow : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
if(other.TryGetComponent(out EnemyMove eMove))
{
eMove.MoveSpeed /= 3; // 敵の移動速度を「3分の1」にする。
}
}
private void OnTriggerExit(Collider other)
{
if (other.TryGetComponent(out EnemyMove eMove))
{
eMove.MoveSpeed *= 3; // 敵の移動速度を「3倍」にする。(元に戻す)
}
}
}
![8aad6532 6d1b 480c 9cb3 316596010077](https://codegenius.org/uploads/slide/image/7891/8aad6532-6d1b-480c-9cb3-316596010077.jpeg)
![D88eae95 7a24 46b1 908a 5d7c24ce4b5a](https://codegenius.org/uploads/slide/image/7892/d88eae95-7a24-46b1-908a-5d7c24ce4b5a.jpeg)
![96401b9b 4674 4cb3 8b5c dcd4bc0c2172](https://codegenius.org/uploads/slide/image/7893/96401b9b-4674-4cb3-8b5c-dcd4bc0c2172.jpeg)
![643b29f7 358b 4ea2 8001 029e3debf2d8](https://codegenius.org/uploads/slide/image/7894/643b29f7-358b-4ea2-8001-029e3debf2d8.jpeg)
![478dedd2 f014 4d13 985d b9a3f29273c2](https://codegenius.org/uploads/slide/image/7895/478dedd2-f014-4d13-985d-b9a3f29273c2.jpeg)
![12af572d befd 41e8 afd3 5c17be61a93d](https://codegenius.org/uploads/slide/image/7896/12af572d-befd-41e8-afd3-5c17be61a93d.jpeg)
![29c2d4be 055e 4ea2 8db9 6097b8940de0](https://codegenius.org/uploads/slide/image/7897/29c2d4be-055e-4ea2-8db9-6097b8940de0.jpeg)
![Ede20b23 efd6 4c00 8e24 d67b331a9257](https://codegenius.org/uploads/slide/image/7898/ede20b23-efd6-4c00-8e24-d67b331a9257.jpeg)
![168d711f a9f1 4091 be26 55e748126953](https://codegenius.org/uploads/slide/image/7899/168d711f-a9f1-4091-be26-55e748126953.jpeg)
![1bb77377 ef50 4e4c 88fb 29e1ca482f76](https://codegenius.org/uploads/slide/image/7886/1bb77377-ef50-4e4c-88fb-29e1ca482f76.jpeg)
![E88c9656 4430 4d80 9c30 11b341d1ba0f](https://codegenius.org/uploads/slide/image/7887/e88c9656-4430-4d80-9c30-11b341d1ba0f.jpeg)
![2a90ac36 716f 4cb4 b161 e94d4e93a842](https://codegenius.org/uploads/slide/image/7888/2a90ac36-716f-4cb4-b161-e94d4e93a842.jpeg)
![622ec598 d862 410f af58 339c2dc8bd5f](https://codegenius.org/uploads/slide/image/7889/622ec598-d862-410f-af58-339c2dc8bd5f.jpeg)
自動プロパティの設定
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyMove : MonoBehaviour
{
// ★改良
// 「自動プロパティ」をネットで調べてみよう!
public float MoveSpeed { get; set; } // 自動プロパティの設定(ポイント)
private float maxDis = 0.75f;
private string tagName;
// ★改良
private void Start()
{
MoveSpeed = 5;
}
void Update()
{
// ★改良
transform.Translate(Vector3.forward * MoveSpeed * Time.deltaTime);
RaycastHit hit;
Ray ray = new Ray(transform.position, transform.forward);
Debug.DrawRay(transform.position, transform.forward * maxDis, Color.red);
if(Physics.Raycast(ray, out hit, maxDis))
{
GameObject target = hit.collider.gameObject;
tagName = target.tag;
switch (tagName)
{
case "Right":
transform.localRotation = Quaternion.Euler(0, transform.eulerAngles.y + 90, 0);
break;
case "Left":
transform.localRotation = Quaternion.Euler(0, transform.eulerAngles.y + 270, 0);
break;
}
}
}
}
![3d7b5e50 6ea8 41d2 8dda dcd85fc3e975](https://codegenius.org/uploads/slide/image/7890/3d7b5e50-6ea8-41d2-8dda-dcd85fc3e975.jpeg)
敵の移動速度を低下させる
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveSlow : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
if(other.TryGetComponent(out EnemyMove eMove))
{
eMove.MoveSpeed /= 3; // 敵の移動速度を「3分の1」にする。
}
}
private void OnTriggerExit(Collider other)
{
if (other.TryGetComponent(out EnemyMove eMove))
{
eMove.MoveSpeed *= 3; // 敵の移動速度を「3倍」にする。(元に戻す)
}
}
}
![8aad6532 6d1b 480c 9cb3 316596010077](https://codegenius.org/uploads/slide/image/7891/8aad6532-6d1b-480c-9cb3-316596010077.jpeg)
![D88eae95 7a24 46b1 908a 5d7c24ce4b5a](https://codegenius.org/uploads/slide/image/7892/d88eae95-7a24-46b1-908a-5d7c24ce4b5a.jpeg)
![96401b9b 4674 4cb3 8b5c dcd4bc0c2172](https://codegenius.org/uploads/slide/image/7893/96401b9b-4674-4cb3-8b5c-dcd4bc0c2172.jpeg)
![643b29f7 358b 4ea2 8001 029e3debf2d8](https://codegenius.org/uploads/slide/image/7894/643b29f7-358b-4ea2-8001-029e3debf2d8.jpeg)
![478dedd2 f014 4d13 985d b9a3f29273c2](https://codegenius.org/uploads/slide/image/7895/478dedd2-f014-4d13-985d-b9a3f29273c2.jpeg)
![12af572d befd 41e8 afd3 5c17be61a93d](https://codegenius.org/uploads/slide/image/7896/12af572d-befd-41e8-afd3-5c17be61a93d.jpeg)
![29c2d4be 055e 4ea2 8db9 6097b8940de0](https://codegenius.org/uploads/slide/image/7897/29c2d4be-055e-4ea2-8db9-6097b8940de0.jpeg)
![Ede20b23 efd6 4c00 8e24 d67b331a9257](https://codegenius.org/uploads/slide/image/7898/ede20b23-efd6-4c00-8e24-d67b331a9257.jpeg)
![168d711f a9f1 4091 be26 55e748126953](https://codegenius.org/uploads/slide/image/7899/168d711f-a9f1-4091-be26-55e748126953.jpeg)
マイロボットの作成2