隠しオブジェクト(アイテム)の作り方
![48a3bc95 85c2 443c aee3 b6b67a76c652](https://codegenius.org/uploads/slide/image/2001/48a3bc95-85c2-443c-aee3-b6b67a76c652.jpeg)
![B76f1e36 3e37 4fd6 b689 f5ef6aadeb0d](https://codegenius.org/uploads/slide/image/2002/b76f1e36-3e37-4fd6-b689-f5ef6aadeb0d.jpeg)
条件成就でオブジェクトをアクティブ状態にする
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Ball : MonoBehaviour
{
public float moveSpeed;
private Rigidbody rb;
public AudioClip coinGet;
public float jumpSpeed;
private bool isJumping = false;
private int coinCount = 0;
// ★追加
public GameObject target;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
float moveH = Input.GetAxis("Horizontal");
float moveV = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveH, 0, moveV);
rb.AddForce(movement * moveSpeed);
if (Input.GetButtonDown("Jump") && isJumping == false)
{
rb.velocity = Vector3.up * jumpSpeed;
isJumping = true;
}
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Coin"))
{
Destroy(other.gameObject);
AudioSource.PlayClipAtPoint(coinGet, transform.position);
coinCount += 1;
// ★追加
if (coinCount == 2)
{
// (ポイント)
// SetActive()メソッドはオブジェクトをアクティブ/非アクティブ状態にすることができる。
target.SetActive(true);
}
if (coinCount == 4)
{
SceneManager.LoadScene("GameClear");
}
}
}
public int Coin()
{
return coinCount;
}
private void OnCollisionEnter(Collision other)
{
if (other.gameObject.CompareTag("Floor"))
{
isJumping = false;
}
}
}
![34eb8187 027d 4989 946d 2517ff71f470](https://codegenius.org/uploads/slide/image/2003/34eb8187-027d-4989-946d-2517ff71f470.jpeg)
![Aaf90400 abb3 4a8b 9964 50201f7c2c4b](https://codegenius.org/uploads/slide/image/2004/aaf90400-abb3-4a8b-9964-50201f7c2c4b.jpeg)
![3fada548 cd70 468b 9bcb 23b16966124e](https://codegenius.org/uploads/slide/image/2005/3fada548-cd70-468b-9bcb-23b16966124e.jpeg)
【2018版】BallGame(全25回)
他のコースを見る![48a3bc95 85c2 443c aee3 b6b67a76c652](https://codegenius.org/uploads/slide/image/2001/48a3bc95-85c2-443c-aee3-b6b67a76c652.jpeg)
![B76f1e36 3e37 4fd6 b689 f5ef6aadeb0d](https://codegenius.org/uploads/slide/image/2002/b76f1e36-3e37-4fd6-b689-f5ef6aadeb0d.jpeg)
条件成就でオブジェクトをアクティブ状態にする
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Ball : MonoBehaviour
{
public float moveSpeed;
private Rigidbody rb;
public AudioClip coinGet;
public float jumpSpeed;
private bool isJumping = false;
private int coinCount = 0;
// ★追加
public GameObject target;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
float moveH = Input.GetAxis("Horizontal");
float moveV = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveH, 0, moveV);
rb.AddForce(movement * moveSpeed);
if (Input.GetButtonDown("Jump") && isJumping == false)
{
rb.velocity = Vector3.up * jumpSpeed;
isJumping = true;
}
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Coin"))
{
Destroy(other.gameObject);
AudioSource.PlayClipAtPoint(coinGet, transform.position);
coinCount += 1;
// ★追加
if (coinCount == 2)
{
// (ポイント)
// SetActive()メソッドはオブジェクトをアクティブ/非アクティブ状態にすることができる。
target.SetActive(true);
}
if (coinCount == 4)
{
SceneManager.LoadScene("GameClear");
}
}
}
public int Coin()
{
return coinCount;
}
private void OnCollisionEnter(Collision other)
{
if (other.gameObject.CompareTag("Floor"))
{
isJumping = false;
}
}
}
![34eb8187 027d 4989 946d 2517ff71f470](https://codegenius.org/uploads/slide/image/2003/34eb8187-027d-4989-946d-2517ff71f470.jpeg)
![Aaf90400 abb3 4a8b 9964 50201f7c2c4b](https://codegenius.org/uploads/slide/image/2004/aaf90400-abb3-4a8b-9964-50201f7c2c4b.jpeg)
![3fada548 cd70 468b 9bcb 23b16966124e](https://codegenius.org/uploads/slide/image/2005/3fada548-cd70-468b-9bcb-23b16966124e.jpeg)
隠しオブジェクト(アイテム)の作り方