一 : 语言 :C#         点击这里下载项目工程

二  : 涉及到的功能:

1.主角,上下左右移动

2.主角,放置炸弹

3.炸弹可以销毁某些砖块,敌人

4.通过射线检测,实现敌人随机运动

三:效果图(游戏中用到的图片来源于网络,侵删)

四 :代码

(1),主角移动脚本

using System.Collections;

using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour {
    private Rigidbody2D rigidbody2D;
    private Animator anim;
    public float speed = 10f;
    private void Start()
    {
        rigidbody2D = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();
    }
    private void FixedUpdate()
    {
        float h = Input.GetAxisRaw("Horizontal");//键值对
        float v = Input.GetAxisRaw("Vertical");

GetComponent<Rigidbody2D>().velocity = new Vector2(h, v) * speed;//方向*速度

GetComponent<Animator>().SetInteger("X", (int)h);//X轴方向上动画
        GetComponent<Animator>().SetInteger("Y", (int)v);//Y轴方向上动画
        
    }

}

(2),主角放置炸弹

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BombDrop : MonoBehaviour {
    public GameObject BombPrefab;
void Update () {
        Vector2 pos = transform.position;//炸弹的位置

if(Input.GetKeyDown(KeyCode.Space))
        {
            Instantiate(BombPrefab, pos, Quaternion.identity);//实例化预制体
        }
}

}

(3)炸弹  一定时间后销毁

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BombAfter : MonoBehaviour {
    public GameObject ExplosionPrefab;
    public float time = 1.5f;
void Start () {
        Destroy(gameObject, time);
}
}

(4)炸弹爆炸

即从       到  的过程:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bomb : MonoBehaviour {
    public GameObject ExplosionPrefab;
    private void OnDestroy()  //炸弹被销毁时调用
    {
        Instantiate(ExplosionPrefab, transform.position, Quaternion.identity);  //实例化生成爆炸后的炸弹的样子
    }

}

(5)  一定时间后销毁

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Destroy : MonoBehaviour {
       public float time = 1f;
void Start () {
        Destroy(gameObject, time);
    }
}

(6) 炸弹爆炸,可以销毁,某些砖块,敌人,以及主角 (除了不可被销毁的砖块,其他的都可被销毁)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Explosion : MonoBehaviour {
    private void OnTriggerEnter2D(Collider2D col)
    {
        if (!col.gameObject.isStatic)  //只要是非静态,就可被炸弹销毁
        {
            Destroy(col.gameObject);
        }
    }

}

注意:不可被销毁的砖块打上勾

(7) 敌人随机方向移动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Worm : MonoBehaviour {
    public float speed = 2f;

Vector2 RanDir()
    {
        int r = Random.Range(-1, 2);
        return (Random.value < 0.5 ? new Vector2(r, 0): new Vector2(0,r));
    }

bool isValidDir(Vector2 dir)
    {
        Vector2 pos = transform.position;
        RaycastHit2D hit = Physics2D.Linecast(pos + dir, pos);
        return (hit.collider.gameObject);
    }

void ChangeDir()
    {
        Vector2 dir = RanDir();
        if (isValidDir(dir))
        {
            GetComponent<Rigidbody2D>().velocity = dir * speed;
            GetComponent<Animator>().SetInteger("X", (int)dir.x);
            GetComponent<Animator>().SetInteger("Y", (int)dir.y);
        }
    }
void Start () {
        InvokeRepeating("ChangeDir", 0, 0.5f);
}
}

如果文章对你有帮助,请她喝杯奶茶吧~

Unity2D小游戏——类似QQ堂的小 demo(炸弹人)相关推荐

  1. 小蛮与QQ堂的故事 ——外挂作者的缅怀

    QQ堂从2021年12月16日,发布停运公告,到2022年4月20日关服后的一周,在此期间,是否要出一期视频留作纪念?这让我犹豫了很久. 我们这类人似乎是最没资格提"缅怀"二字的, ...

  2. 白鹭引擎用java_白鹭引擎产品工具更新 完善小游戏、QQ玩一玩开发支持

    原标题:白鹭引擎产品工具更新 完善小游戏.QQ玩一玩开发支持 为了让开发者们获得更好的开发体验,同时在搜集大家通过官方社区.微信小游戏技术讨论群提交的反馈意见后,我们在1月29日对旗下的白鹭引擎.Eg ...

  3. 【微信小游戏】微信对战小游戏知识储备

    一.前提 在微信小游戏异常火爆的前提下,开发个小游戏才是正事,而不是玩个小游戏才是正事! 废话不多说,步入今天的正题,在慢慢成熟起来的小游戏生态中我们的小游戏如果只是单机+排行的组合,难免显得小游戏单 ...

  4. cudnn7.6.5下载 solitairetheme8_233小游戏下载安装赚钱-233小游戏下载安装最新版v2.29.4.5...

    233小游戏app,一款主打休闲小游戏的游戏盒子软件,网络上最受欢迎的消除闯关类以及双人对抗类之类的小游戏都全部收录,打开手机就能开始玩,游戏中还有超多福利可以免费领取,完成日常任务还可以赚取现金红包 ...

  5. 在线小游戏,在线小游戏大全,网页在线小游戏大全

    在线小游戏推荐,本在线小游戏来源于中国最知名的在线小游戏网站--爱游戏网:http://www.iiyouxi.com 在线小游戏,小游戏,在线游戏,网页游戏,网页小游戏 区养成网页游戏:http:/ ...

  6. 微信小游戏申请注册流程+开发微信小游戏类目需要具备条件

    微信小游戏申请注册流程+开发微信小游戏类目需要具备条件 在这里先讲一下,小程序和小游戏前面的注册流程都是一样的,在注册完毕登录小程序后台后选择类目时需要注意一下,我下面讲解的是已经通过认证的服务号进行 ...

  7. 勇闯掘金小游戏为一款多个小游戏的合集游戏,有五个关卡:找掘金、石头剪刀布、寻找藏宝图、打地鼠、抽奖。基于Vue

    游戏简介 勇闯掘金小游戏为一款多个小游戏的合集游戏,共有五个关卡,分别为:找掘金.石头剪刀布.寻找藏宝图.打地鼠.抽奖.每个环节20分,满分100分. 完整代码下载地址:勇闯掘金小游戏 快速体验 ht ...

  8. 【Unity3D开发小游戏】《战棋小游戏》Unity开发教程

    一.前言 这次想要做的一个小游戏,或者说一个小Demo,其实是一个简单且传统的战棋战斗场景.初步的设计是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方依据体力在地图上轮流行动并向对方发动攻 ...

  9. HTML新年祝福抽奖小游戏,春节祝福抽奖小游戏代码

    HTML新年祝福抽奖小游戏,春节祝福抽奖小游戏代码 完整代码下载地址:HTML新年祝福抽奖小游戏,春节祝福抽奖小游戏代码 两款祝福抽奖小游戏: 一. 二. 核心代码: <!DOCTYPE htm ...

最新文章

  1. 计算机设计大赛颁奖典礼主持稿的串词,比赛颁奖典礼主持词
  2. mfc倾斜文本输入_文本检测知识梳理(持续更新)
  3. C#基础练习(时间的三连击)
  4. 问题 I: 成对最小公倍数(数学)
  5. 《看聊天记录都学不会C#?太菜了吧》(6)多晦涩的专业术语原来都会那么简单
  6. 算法导论第三版第十一章11.1-4
  7. 无人驾驶出租车遭警察拦截后欲“潜逃”,AI 是原罪?
  8. Nerv --- React IE8 兼容方案
  9. GeoTools计算线与面的交点
  10. oracle进程的作用,浅析Oracle10g新进程 MMON 和 MMNL的作用
  11. SQL Server插入geography、geometry和c_hierarchyid类型数据
  12. Java多线程系列---“基础篇”08之 join()
  13. 28.MySQL Variables
  14. 利用 /dev/zero 创建虚拟硬盘
  15. 软件著作权申请教程模板材料下载
  16. 前端地图之色斑图渲染(数据格式为.tif的栅格数据)(一)——以leaflet为例
  17. VB.net绘制tan函数图像
  18. 帝云CMS内容管理系统
  19. 网络安全管理与运维服务
  20. 网络编程--TCP/IP协议(二)

热门文章

  1. 利用Excel可视化分析,柱形图、条形图、饼图、复合饼图,圆环图、组合图、漏斗图、地图的操作方法(适合小白)
  2. Minecraft作弊端介绍:PYRO CLIENT-一个平凡但神秘的存在
  3. Android自定义Activity切换动画完全解析
  4. 树莓派触摸屏翻转显示以及触摸翻转
  5. QT窗口嵌入桌面内部(在桌面图标之上):可以实现自定义桌面
  6. 网易邮箱添加附件功能原理浅析
  7. c语言发票的编码,增值税普通发票(折叠票)的发票代码有几位?
  8. 聪明的大脑 少碰以下的食物!!
  9. matlab 开4次方根,matlab中计算四次方方程a*x^4+b*x+c=0的实数根.
  10. 大数据项目之电商数仓(业务数据仓库)