頭突きで壊せるブロックの作成
![B91c38d7 9188 4bbc 9f01 937b9b7d20ba](https://codegenius.org/uploads/slide/image/9071/b91c38d7-9188-4bbc-9f01-937b9b7d20ba.jpeg)
![D8ddc770 d532 43c6 a77e 09088de1a57e](https://codegenius.org/uploads/slide/image/9072/d8ddc770-d532-43c6-a77e-09088de1a57e.jpeg)
![04286d8f be31 43f9 ac46 fa6995868d6e](https://codegenius.org/uploads/slide/image/9073/04286d8f-be31-43f9-ac46-fa6995868d6e.jpeg)
![B03a0562 b0d2 4348 ae72 6193f6738fd1](https://codegenius.org/uploads/slide/image/9074/b03a0562-b0d2-4348-ae72-6193f6738fd1.jpeg)
頭突きでブロックを破壊する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HeadAttack : MonoBehaviour
{
public AudioClip sound;
public GameObject effectPrefab;
private Rigidbody2D rb2d;
void Start()
{
rb2d = GetComponent<Rigidbody2D>();
}
void Update()
{
RaycastHit2D hit2d = Physics2D.Raycast(transform.position, Vector2.up, 0.25f);
if(hit2d.collider != null)
{
if(hit2d.collider.CompareTag("SoftBlock"))
{
Destroy(hit2d.collider.gameObject);
AudioSource.PlayClipAtPoint(sound, transform.position);
Instantiate(effectPrefab, hit2d.collider.transform.position, Quaternion.identity);
// (テクニック)下向きに反発させることで一度に二個のブロック破壊を防止する(二個抜き禁止)
rb2d.velocity = Vector2.down * 1.2f;
}
}
}
}
![247a64ac 3661 4b1a 8c37 c96d86a22503](https://codegenius.org/uploads/slide/image/9075/247a64ac-3661-4b1a-8c37-c96d86a22503.jpeg)
![Ad9acdca 7f5b 4609 8d20 cbbf6e1a0b5c](https://codegenius.org/uploads/slide/image/9076/ad9acdca-7f5b-4609-8d20-cbbf6e1a0b5c.jpeg)
![683e0db0 0d82 4998 afe2 fc84786aac1b](https://codegenius.org/uploads/slide/image/9077/683e0db0-0d82-4998-afe2-fc84786aac1b.jpeg)
![Af7e0987 048f 4a5c bf23 3a669f4b89fd](https://codegenius.org/uploads/slide/image/9078/af7e0987-048f-4a5c-bf23-3a669f4b89fd.jpeg)
【2022版】ActionGame2D(全33回)
他のコースを見る![B91c38d7 9188 4bbc 9f01 937b9b7d20ba](https://codegenius.org/uploads/slide/image/9071/b91c38d7-9188-4bbc-9f01-937b9b7d20ba.jpeg)
![D8ddc770 d532 43c6 a77e 09088de1a57e](https://codegenius.org/uploads/slide/image/9072/d8ddc770-d532-43c6-a77e-09088de1a57e.jpeg)
![04286d8f be31 43f9 ac46 fa6995868d6e](https://codegenius.org/uploads/slide/image/9073/04286d8f-be31-43f9-ac46-fa6995868d6e.jpeg)
![B03a0562 b0d2 4348 ae72 6193f6738fd1](https://codegenius.org/uploads/slide/image/9074/b03a0562-b0d2-4348-ae72-6193f6738fd1.jpeg)
頭突きでブロックを破壊する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HeadAttack : MonoBehaviour
{
public AudioClip sound;
public GameObject effectPrefab;
private Rigidbody2D rb2d;
void Start()
{
rb2d = GetComponent<Rigidbody2D>();
}
void Update()
{
RaycastHit2D hit2d = Physics2D.Raycast(transform.position, Vector2.up, 0.25f);
if(hit2d.collider != null)
{
if(hit2d.collider.CompareTag("SoftBlock"))
{
Destroy(hit2d.collider.gameObject);
AudioSource.PlayClipAtPoint(sound, transform.position);
Instantiate(effectPrefab, hit2d.collider.transform.position, Quaternion.identity);
// (テクニック)下向きに反発させることで一度に二個のブロック破壊を防止する(二個抜き禁止)
rb2d.velocity = Vector2.down * 1.2f;
}
}
}
}
![247a64ac 3661 4b1a 8c37 c96d86a22503](https://codegenius.org/uploads/slide/image/9075/247a64ac-3661-4b1a-8c37-c96d86a22503.jpeg)
![Ad9acdca 7f5b 4609 8d20 cbbf6e1a0b5c](https://codegenius.org/uploads/slide/image/9076/ad9acdca-7f5b-4609-8d20-cbbf6e1a0b5c.jpeg)
![683e0db0 0d82 4998 afe2 fc84786aac1b](https://codegenius.org/uploads/slide/image/9077/683e0db0-0d82-4998-afe2-fc84786aac1b.jpeg)
![Af7e0987 048f 4a5c bf23 3a669f4b89fd](https://codegenius.org/uploads/slide/image/9078/af7e0987-048f-4a5c-bf23-3a669f4b89fd.jpeg)
頭突きで壊せるブロックの作成