【Unity2D入门教程氵篇】简单制作一个弹珠游戏之制作场景④(设置不可破坏砖块,发布游戏设置)

学习目标:

 如果你看过我上一个文章就会发现图片好像有灰色的不可破坏的砖块,顺便教大伙怎么发布自己已经设置好的游戏


学习内容:

先把砖块的颜色改好

代码也不用改动直接拖上去,只需要给它一个新的标签

Block的脚本如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Block : MonoBehaviour
{
    [SerializeField] AudioClip breakClip; //播放声音
    [SerializeField] GameObject impactVFX;
    Level level;

    [SerializeField] int hitsCount; //统计被击中几次

    [SerializeField] Sprite[]hitSprites; //分别是第一次被击中的Sprite,第二次,第三次
    private void Start()
    {
        CountBrealableBlocks();
    }

    private void CountBrealableBlocks()
    {
        level = FindObjectOfType<Level>();
        if (tag == "Breakable")
        {
            level.CountBreakBlocks();
        }
    }

    private void OnCollisionEnter2D(Collision2D other)
    {
        if (other.gameObject.CompareTag("Ball") && tag == "Breakable")
        {
            HandleHit();
        }
    }

    private void HandleHit()
    {
        hitsCount++;
        int maxHits = hitSprites.Length + 1;
        if (hitsCount >= maxHits)
        {
            DestoryBlock(); //如果被击中的次数大于它最大的承受击中次数就直接破坏
            //Debug.Log(other.gameObject.name);
        }
        else
        {
            ShowNextHitSPrite(); //显示
        }
    }

    private void ShowNextHitSPrite() //显示下一张图片也就是击碎的Sprite
    {
        int spriteIndex = hitsCount - 1;
        if (hitSprites[spriteIndex] != null)
        {
            GetComponent<SpriteRenderer>().sprite = hitSprites[spriteIndex];
        }
        else
        {
            Debug.LogError("Array out of Index");
        }
    }
    private void DestoryBlock()
    {
        FindObjectOfType<GameStatus>().AddToScore();
        AudioSource.PlayClipAtPoint(breakClip, Camera.main.transform.position);
        Destroy(gameObject);
        level.BlockDestory();
        TriggerSparklesVFX();
    }
    private void TriggerSparklesVFX()
    {
        GameObject sparkles = Instantiate(impactVFX, transform.position.normalized, transform.rotation);
        Destroy(sparkles,1f);
    }
}

游戏发布:

点一下Player Settings

然后Build And Run直接保存好目录即可

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值